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

Acu*_*ubi 5 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>
Run Code Online (Sandbox Code Playgroud)

-----------第二代码块---------------

<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>
Run Code Online (Sandbox Code Playgroud)

Jam*_*gne 14

所有贴出的答案几乎都是正确的..

$(document).ready(function(){
    $("#table1 > tbody > tr:odd").addClass("odd");
    $("#table1 > tbody > tr:not(.odd)").addClass("even");  
});
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

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