检查单击的元素是否具有一个类

时间:2019-01-09 08:22:26

标签: jquery

我试图检查单击的元素是否具有一个类,以决定我需要做什么。对我来说,以下代码将不起作用。我尝试了很多失败的变种。

$(window).click(function(e) {
  //console.log(e);
  //if ($(e).is('.lookingfor'))
  //if ($(this).is('.lookingfor'))
  if ($(e).hasClass('lookingfor')) {
    alert('matched');
  } else {
    alert('wrong class');
  }
});

1 个答案:

答案 0 :(得分:4)

e是引发的事件。相反,您需要引用被单击的元素,可以从事件的target属性中检索该元素:

$(window).click(function(e) {
  if ($(e.target).hasClass('lookingfor')) {
    console.log('matched');
  } else {
    console.log('wrong class');
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<p class="lookingfor">This has the class</p>
<p class="foo">This does not</p>