我当前有一个表,其中有一个嵌套表:
<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>
etc表结构。
我目前使用的是下面的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);
});
});
发布于 2013-07-02 06:58:58
在这个解决方案中,是否有tbody标签并不重要:
$('table').find('tr:first').parent().children()
发布于 2010-03-05 00:35:23
使用>
选择器只针对元素的直接子元素。您还必须将表中的隐式tbody元素作为目标:
$('#report>tbody>tr.odd')
发布于 2010-03-05 00:33:32
你想要的
$("#report>tr")
>
指的是直接后代(子代),而不是任何后代。
https://stackoverflow.com/questions/2380917
复制相似问题