我需要在第一个子TD上为每个TR添加一个click事件,其类为“topRow”,用“subRow”类切换所有下一个TR行,在TR.topRow下滑动第一个TR。
表格示例
<table>
<tr class="topRow">
<td>text</td>
<td>Text</td>
<td>Text</td>
</tr>
<tr class="otherRow">
<td colspan="3">Text</td>
</tr>
<tr class="subRow">
<td>text</td>
<td>Text</td>
<td>Text</td>
</tr>
<tr class="subRow">
<td>text</td>
<td>Text</td>
<td>Text</td>
</tr>
<tr class="topRow">
<td>text</td>
<td>Text</td>
<td>Text</td>
</tr>
<tr class="otherRow">
<td colspan="3">Text</td>
</tr>
<tr class="topRow">
<td>text</td>
<td>Text</td>
<td>Text</td>
</tr>
<tr class="otherRow">
<td colspan="3">Text</td>
</tr>
<tr class="subRow">
<td>text</td>
<td>Text</td>
<td>Text</td>
</tr>
<tr class="subRow">
<td>text</td>
<td>Text</td>
<td>Text</td>
</tr>
<tr class="subRow">
<td>text</td>
<td>Text</td>
<td>Text</td>
</tr>
<tr class="subRow">
<td>text</td>
<td>Text</td>
<td>Text</td>
</tr>
</table>
我现在有jquery
$("tr.topRow td:first-child").click(function () {
$(this).parent().nextUntil('tr:not(tr.subRow):gt(1)').slideToggle();
});
我试过的另一件事
$("tr.topRow td:first-child").click(function () {
$(this).parent().nextUntil('tr:gt(1):not(tr.subRow):gt(1)').slideToggle();
});
但我没有得到所需的结果。
答案 0 :(得分:3)
你可以在那里抛出一个.next()
来跳过(这也简化了事情),如下所示:
$("tr.topRow td:first-child").click(function () {
$(this).parent().next().nextUntil('tr.topRow').slideToggle();
});