如何检查单击的元素是否包含具有某些 class 的元素

How to check if clicked element contains element with certain class

我正在编写一个 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>

这就是我到目前为止所得到的。它总是 returns 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;
});
if ( $(this).find("span.label-danger").length ) {

除了拼写错误外,这不会检查点击元素之前的状态。这是我最终得到的结果:

var danger_check = false;

$("a.aao_btn").mouseover (function() {
    if ( $(this).find("span.label-danger").length ) {
        danger_check = true;
    }
    else {
        danger_check = false;
    }
});


$("a.aao_btn").on("click", function (e) {
  if (e.shiftKey) {
  }
  else {
    if ( danger_check ) {
        // Do this
      }
    else {
       // Do that

    }
  }
  return false;
});