如何只遍历表的顶级<tr>标记

Exc*_*ion 4 jquery

嗨,我想迭代只有顶级意味着一个表的子标签.Below是我的HTML

 <table id="tab1">
         --->   <tr>
                   <td>
                   <table>
                         <tr><td></td></tr>
                         <tr><td></td></tr>
                   </table>
                   </td>
            </tr>
         --->   <tr><td></td></tr>
         --->   <tr><td></td></tr>
 </table>
Run Code Online (Sandbox Code Playgroud)

如果我使用下面的代码迭代所有tr标签

  $('#tab1 tr').each(function()
  {
      // This will iterate through all the <tr>  ( 5 tags).. 
  });
Run Code Online (Sandbox Code Playgroud)

但我想迭代通过我提到的>标记的s ..你可以使用下面的小提琴把手放在
http://jsfiddle.net/AzJRp/1/

mu *_*ort 5

某些浏览器会"更正"您的HTML以包含<tbody>:

<table id="tab1">
    <tbody>
        <tr>
            <td>
                <!-- ... -->
            </td>
        </tr>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

如果可能,<tbody>请自行添加到HTML中,然后您可以可靠地使用:

$('#tab1 > tbody > tr').each(function() {
    // ...
});
Run Code Online (Sandbox Code Playgroud)

演示:http://jsfiddle.net/Qw2CJ/

如果你没有插入<tbody>自己,$('#tab1 > tr')可以在某些浏览器中工作,而其他浏览器则需要$('#tab1 > tbody > tr').如果你<tbody>自己添加,你可以在任何地方使用相同的简单CSS选择器.