jquery nextAll 并跳过第一个元素
我需要为每个具有“topRow”类的 TR 在第一个子 TD 上添加一个单击事件,该事件会切换具有“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();
});
但我没有得到所需的结果。
I need to add a click event on fist child TD for each TR with class “ topRow” which toggle all next TR rows with class “subRow” skiping the first TR under TR.topRow.
Table example
<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 I have at the moment
$("tr.topRow td:first-child").click(function () {
$(this).parent().nextUntil('tr:not(tr.subRow):gt(1)').slideToggle();
});
Anther thing I tried
$("tr.topRow td:first-child").click(function () {
$(this).parent().nextUntil('tr:gt(1):not(tr.subRow):gt(1)').slideToggle();
});
But I dont get the result required.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您只需在其中添加
.next()
即可跳过(这也简化了事情),如下所示:您可以在此处进行测试。
You can just throw a
.next()
in there for the skip (which also simplifies things), like this:You can test it out here.