Jquery 多个表中的$(“偶数”).addClass(“偶数”)
我使用这个漂亮的litte jQuery Scritp来更改表行的类别:Jquery 多个表中的$(“偶数”).addClass(“偶数”),jquery,Jquery,我使用这个漂亮的litte jQuery Scritp来更改表行的类别: $(".rowchange tr:even").addClass("even"); 但当我在同一页上使用多个表时,结果可能是这样的: <table class="rowchange"> <tr class="even"><td>...</td></tr> <tr><td>...</td></tr> &
$(".rowchange tr:even").addClass("even");
但当我在同一页上使用多个表时,结果可能是这样的:
<table class="rowchange">
<tr class="even"><td>...</td></tr>
<tr><td>...</td></tr>
<tr class="even"><td>...</td></tr>
</table>
...
<table class="rowchange">
<tr><td>...</td></tr>
<tr class="even"><td>...</td></tr>
<tr><td>...</td></tr>
</table>
...
...
...
...
...
...
...
如何使所有表都以
开始工作?您必须迭代每个表
,并将该脚本分别应用于每个表:
$(".rowchange").each(function () {
$(this).find("tr:even").addClass("even");
});
这是因为:偶数
选择器正在应用于匹配集中的所有元素,这些元素将是tr
元素的后代。它不会考虑那些祖先.rowchange
元素之间的差异
这是一个。如果您使用
表作为主选择器,并且查找()
您的顺序将是正确的
$('table.rowchange').find('tr:even').addClass("even");
您也可以使用此选择器选择它:
$(".rowchange").find("tr:even").addClass("even");
这是一个肮脏的流程-如何显示它不工作?从这个问题上看,这是我所期望的效果。(表是独立处理的,而不是在一个块中处理所有的tr
元素)对不起,这是有效的。两张表之间的三个点使它看起来是错误的。我的mistake@Dirty-流-啊,是的,我知道这会让人困惑。我将在我的答案中添加一个更新的链接。是的,它工作得非常完美:-)许多thanx用于即时帮助!