表中偶数/奇数行的 jQuery 选择器

标签 jquery jquery-selectors

第一个代码块中的代码是源代码。源码运行后。代码将被更改(请参阅第二个代码块)。

我希望标签的类别(即“偶数”和“奇数”)仅显示在“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>

http://jsfiddle.net/5ETAD/1/

关于表中偶数/奇数行的 jQuery 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6665867/

相关文章:

jquery - 从文本输入字段中删除内容

javascript - IE如何在新选项卡中打开blob对象

javascript - 单击后禁用表单按钮

php - 如何用链接交换样式表

jquery - 使用 jQuery 的自下而上选择器方法

Jquery 选择器如果有标题

jquery - 使用 jquery 隐藏类名所在的 div

php - jQuery:$.cookie 的值与 PHP $_COOKIE 不同? (仅 webkit 浏览器)

jquery-selectors - CSS3 选择器根据第一个子级选择父级

JQuery .insertAfter 在此示例中不起作用 - 为什么?