#javascript #jquery #html
#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. я думаю
closest()
, что это так.2. Можете ли вы объяснить в формате кода. Пожалуйста, поместите свой HTML
Ответ №1:
Вы можете проверить длину объекта jQuery, возвращаемого .closest()
методом.
Из документации:
Для каждого элемента в наборе найдите первый элемент, который соответствует селектору, проверив сам элемент и пройдя по его предкам в дереве 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>