元素或其祖先是一个类的成员

时间:2016-10-07 10:05:52

标签: javascript jquery html

如何检查元素或其任何祖先是否是特定类的成员?据我所知,.hasClass只检查元素本身。

<div class="myClass">
 <div>
   <div id='myElement'>
   </div>
</div>
</div>
<div id = 'notMyElement'>
</div>


$('myElement').anyAncestorHasClass('myClass') == true;
$('notMyElement').anyAncestorHasClass('myClass') == false;

1 个答案:

答案 0 :(得分:2)

您可以检查.closest()方法返回的jQuery对象的长度。

来自文档:

  

对于集合中的每个元素,通过测试元素本身并遍历DOM树中的祖先来获取与选择器匹配的第一个元素。

if($('#myElement').closest('.myClass').length) {
  document.write('Class Exists');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="myClass">
  <div>
    <div id='myElement'>
    </div>
  </div>
</div>
<div id='notMyElement'>
</div>