无法通过javascript

时间:2018-06-09 21:08:55

标签: javascript jquery

我在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类。

我做错了什么?

1 个答案:

答案 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");
});