第一个代码块中的代码是源代码。源码运行后。代码将被更改(请参阅第二个代码块)。
我希望标签的类别(即“偶数”和“奇数”)仅显示在“table1”中。然而,目前嵌套表(即“table2”)的每个标签也有“偶数”和“奇数”类别。
谁能帮帮我吗?提前致谢。
----------第一个代码块--------------
<head>
<script type="text/javascript">
$(document).ready(function(){
$("#table1 tr:odd").addClass("odd");
$("#table1 tr:not(.odd)").addClass("even");
});
</script>
</head>
<body>
<table id="table1">
<tr>
<td>AAA</td>
<td>CCC</td>
</tr>
<tr>
<td>BBB</td>
<td>DDD</td>
</tr>
<tr>
<td>
<table id="table2">
<tr></tr>
<tr></tr>
<table>
</td>
</tr>
</table>
</body>
------------第二个代码块--------------
<table id="table1">
<tr class="even">
<td>AAA</td>
<td>CCC</td>
</tr>
<tr class="odd">
<td>BBB</td>
<td>DDD</td>
</tr>
<tr class="even">
<td>
<table id="table2">
<tr class="even"></tr>
<tr class="odd"></tr>
<table>
</td>
</tr>
</table>
最佳答案
所有发布的答案几乎都是正确的..
$(document).ready(function(){
$("#table1 > tbody > tr:odd").addClass("odd");
$("#table1 > tbody > tr:not(.odd)").addClass("even");
});
即使您自己不添加,许多浏览器也会自动将 tbody
添加到您的表格中。因此 #table1 > tr
将不匹配,因为 tr
不是 table
的直接子级。您最好的选择是使用上述内容,并为那些不为您执行此操作的浏览器显式添加 tbody
。
<table id="table1">
<tbody>
<tr class="even">
<td>AAA</td>
<td>CCC</td>
</tr>
<tr class="odd">
<td>BBB</td>
<td>DDD</td>
</tr>
<tr class="even">
<td>
<table id="table2">
<tbody>
<tr class="even"></tr>
<tr class="odd"></tr>
</tbody>
<table>
</td>
</tr>
<tbody>
</table>
关于表中偶数/奇数行的 jQuery 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6665867/