JQuery - 如何选择:元素的奇数直接子元素

时间:2011-02-12 13:32:29

标签: jquery select elements

我有一张表:

<table class='table'>
<tr></tr>
<tr><tr>
<tr>
<table><tr></tr></table
<tr></tr>
</table>

我想在.table之后只选择立即奇数。

我尝试的是:

$('.table > tr:odd').addClass('odd');

但它没有完成这项工作。

有谁知道?感谢。

2 个答案:

答案 0 :(得分:1)

  

我想只选择   在.table之后立即tr。

您使用的姓名与您提及的不同,请尝试:

 $('.table > tr:odd').addClass('odd');

还要确保将代码包装在ready处理程序中:

$(function(){
     $('.table > tr:odd').addClass('odd');
});

您还应该尝试添加tbody

$('.table > tbody > tr:odd').addClass('odd');

答案 1 :(得分:1)

另一种选择是使用filter()(docs)方法。

$('.table > tbody > tr').filter(function(i){
    return !(i % 2);
}).addClass('odd');

这将使您能够在初始选择中使用有效的CSS选择器,从而在支持querySelectorAll的浏览器中提供良好的性能提升。

示例: http://jsfiddle.net/kbnH2/