我在tr
中有一组table
个标记,其中一些标记为collapsible-parent
。当我点击行中的一个元素时,它会调用这个javascript方法:
function toggle() {
$(this).closest("tr").nextUntil(".collapsible-parent").toggleClass("open");
}
但是,中间的所有行都没有添加open
类。所以HTML就像这样:
<tr class="collapsible-parent">
<td>
<span onclick="toggle()"><i class="fa fa-chevron-circle-right"></i></span>
</td>
...
</tr>
<tr>....</tr>
<tr>....</tr>
<tr class="collapsible-parent">....</tr>
因此,如果我在显示的第一个tr
上触发该方法,我希望第二个和第三个tr
添加open
类。
我做错了什么?
答案 0 :(得分:0)
我刚才意识到你已经修复了你的问题,但是我会保留答案供将来参考,因为这是一个棘手的错误。
jQuery未正确捕获onclick
事件侦听器。我已成功通过在id
元素上添加span
然后使用jQuery添加.on("click")
侦听器来成功运行此功能。
在span元素上添加id:
<span id="btn"><i class="fa fa-chevron-circle-right"></i></span>
并使用jQuery添加一个监听器:
$("#btn").on("click", function() {
$(this).closest("tr").nextUntil(".collapsible-parent").toggleClass("open");
});