【发布时间】:2020-06-18 17:28:23
【问题描述】:
我正在编写一个 Tampermonkey 脚本,如果单击某个按钮,该脚本应该执行一些代码。
它应该检查被点击的按钮是否包含一个图标在被点击之前。我还不知道这是否可能。有许多可以点击的独特按钮。
这是按钮:
<a class="btn aao_btn" id="aao_n">
<span id="available_aao_n" class="label label-danger"><span class="glyphicon glyphicon-remove"></span>
</a>
这是我到目前为止所得到的。它总是返回 false
$("a.aao_btn").on("click", function (e) {
if (e.shiftKey) {
// Execute if Shift is pressed while clicking (working)
}
else {
if ( $(this).find("span").hasClass("label_danger") ) {
// Execute if clicked button contains a danger icon
}
else {
// No danger. Currently this is always the outcome.
}
}
return false;
});
【问题讨论】:
-
您的代码应该可以工作,只有一个错字,类是
label-danger,但您正在检查.hasClass("label_danger")。 -
您在 javascript 上搜索
label_danger,但在 span 元素上有一个label-danger类,这正是您的代码编写方式吗? -
天哪,这很尴尬,非常感谢您的快速帮助!那么我该如何处理呢?删除这个问题?
-
@harrybowser 去过那里,做到了。我最终决定做一个连字符的人,从不使用下划线,所以我从来没有犯过这个错误。查看代码时超级容易错过。
-
不确定最好的解决方案,但一个想法是添加一个 .mouseover 处理程序来检查 label_danger 并添加/删除 my_danger_label 以镜像它。然后你的 .click 可以检查 my_danger_label
标签: javascript html tampermonkey