我正在使用这个很好的litte jQuery Scritp来改变表行的类:
$(".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>
如何让它工作,所有表格都以<tr class="even">
开头?
答案 0 :(得分:2)
您必须遍历每个table
并将该脚本分别应用于每个脚本:
$(".rowchange").each(function () {
$(this).find("tr:even").addClass("even");
});
这是因为:even
选择器正在应用于匹配集中的所有元素,而这将是tr
元素后代的所有.rowchange
元素。它不会考虑这些祖先.rowchange
元素之间的差异。
答案 1 :(得分:0)
如果您使用table
作为主要选择器,find()
您的订购将是正确的。
$('table.rowchange').find('tr:even').addClass("even");
答案 2 :(得分:0)