javascript - 无法通过 javascript 切换类
问题描述
我在 a 中有一组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
类添加到它们中。
我做错了什么?
解决方案
我刚刚意识到你已经解决了你的问题,但我会保留答案以供将来参考,因为它是一个棘手的错误。
jQuery未onclick
正确捕获事件侦听器。我已经成功地通过id
在span
元素上添加一个然后.on("click")
使用 jQuery 添加一个侦听器来成功运行它。
在 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");
});
推荐阅读
- c++ - 使用 gyp 链接 c++ 节点插件时对 v8 的未定义引用
- python - 如何比较来自两个不同来源和日期格式不同的日期字符串?
- c# - C# Entity Framework Core:如何在不包括供应商的账单列表的情况下获取账单与供应商的关系?
- mysql - 在表中查找具有唯一约束的列
- google-app-engine - Google Cloud 中的 VPN 参数
- javascript - 在href javascript属性中传递多个参数?
- mysql - Mysql 将先前的记录值与条件相加
- javascript - splice 方法正在影响先前的对象值。为什么?
- julia - InexactError: Int64 即使在检查可分性时
- python - 端口转发和使用 Python Paramiko 的开放式 SFTP