Я хочу получить первого родителя с определенным префиксом класса, предположим:
<div class="div-a3332">
<div class="div-a89892">
<p>
<div class="div-b2">
<div id="divid">hi</div>
</div>
</p>
</div>
</div>
Например, мой текущий элемент - это, #divid
и я хочу найти первый элемент с префиксом класса div-a. Итак, в основном он выберет:
<div class="div-a89892">
jquery
jquery-selectors
Путешествие во времени
источник
источник
<div class='a'>
, а затем укажите правила дляdiv.a
. Наdiv
самом деле, я не знаю, зачем вы вообще указываете имя класса.Ответы:
Используйте
.closest()
с селектором:источник
div
селектор элемента:$('#divid').closest('[class^="div-a"]')
. Однако, как прокомментировал @Stefan, вам действительно следует использовать несколько классов.Позже Jquery позволил вам найти родителей с помощью этого
.parents()
метода.Поэтому я рекомендую использовать:
Это дает все родительские узлы, соответствующие селектору. Чтобы получить первого родителя, соответствующего селектору, используйте:
Для других подобных запросов прохождения DOM ознакомьтесь с документацией по прохождению DOM .
источник