jQuery在主表中只选择tr / td,而不是嵌套表.

前端之家收集整理的这篇文章主要介绍了jQuery在主表中只选择tr / td,而不是嵌套表.前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前有一个表中嵌有一个嵌套表:
<table class="datagrid" id="report">
       <thead>
         <tr>
          <th>item1</th>
          <th>item2</th>
         </tr>
       </thead>
       <tbody>
       <tr class="odd"> <-- on click from this level only 
        <td></td>  
        <td></td>
       </tr>
       <tr>
        <td colspan="2">
         <table>
          <tr class="odd"> <-- not to be fired here
           <td></td>

等表结构.

我目前正在使用以下jQuery,它会在每个tr上触发,而不管表级别如何.如何将其更改为仅在一级开火?

$(document).ready(function(){
            $("#report tr:not(.odd)").hide();
            $("#report tr:first-child").show();

            $("#report tr.odd").click(function(){
                $(this).next("#report tr").fadeToggle(600);
            });
        });

解决方法

使用 child selector >只选择那些作为报表的tbody子代的tr元素,例如:
$("#report > tbody > tr.odd")

猜你在找的jQuery相关文章