我目前有一个表中嵌有一个嵌套表:
<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")