У меня <div>
есть много других <div>
s, каждый на своем уровне вложенности. Вместо того, чтобы давать каждому ребенку <div>
идентификатор, я просто даю корню <div>
идентификатор. Вот пример:
<div class="a" id="a5">
<div class="b">
<div class="c">
<a class="d">
</a>
</div>
</div>
</div>
Если я напишу функцию в jQuery для ответа на класс, d
и я хочу найти идентификатор для его родителя, класса a
, как бы я это сделал?
Я не могу просто сделать $('.a').attr('id');
, потому что есть несколько классов a
. Я мог бы найти идентификатор родителя родителя своего родителя, но это кажется плохим дизайном, медленным и не очень полиморфным (я должен был бы написать другой код для нахождения идентификатора для класса c
).
Передайте селектор родительской функции jQuery :
РЕДАКТИРОВАТЬ Хм, на самом деле ответ Slaks лучше, если вы хотите, чтобы ближайший предок соответствовал вашему селектору.
источник
Вы можете использовать родителей (), чтобы получить всех родителей с данным селектором.
Но parent () получит только первый родительский элемент.
jQuery parent () против родителей ()
И есть .parentsUntil (), который, я думаю, будет лучшим.
источник
closest
.Используйте .parentsUntil ()
источник
Извлечено из комментариев @ Resord выше. Этот работал для меня и более тесно связан с вопросом.
Спасибо
источник