Есть ли способ в jQuery проверить, есть ли у какого-либо родителя, прародителя, пра-пра-прародителя класс.
У меня есть структура разметки, которая позволила мне делать такие вещи в коде:
$(elem).parent().parent().parent().parent().hasClass('left')
Тем не менее, для удобства чтения кода я бы хотел избежать такого рода вещей. Есть ли способ сказать "любой родитель / прародитель / пра-пра-родитель имеет этот класс"?
Я использую JQuery 1.7.2.
javascript
jquery
html
jquery-selectors
jquery-1.7
crmpicco
источник
источник
Ответы:
источник
.length
сведению , хотя практика трактовки истинной ценности в JS весьма плодотворна, она гораздо яснее и проще для понимания.length > 0
Существует много способов фильтрации элементов-предков.
Осторожно ,
closest()
метод включает сам элемент при проверке селектора.В качестве альтернативы, если у вас есть уникальный селектор, соответствующий
$elem
, например#myElem
, вы можете использовать:Если вы хотите сопоставить элемент в зависимости от его класса-предка только для стилизации, просто используйте правило CSS :
источник
Is there any way in jQuery to check if any parent,...
,closest()
проверка самого элемента , так это на самом деле не отвечая на вопрос, ОП может пожелать explecitely исключить сам элемент, так уа, ответ должен был использовать.parents()
Вы можете использовать
parents
метод с указанным.class
селектором и проверить, соответствует ли какой-либо из них:источник