Вопрос

Сено, у меня есть некоторая разметка, как это

<div id="some-id">
    <h2><a href="#">Title</a></h2>
</div>

и какой-то jQuery, как это

$(this).parent().parent().attr("id")

$ (это) ссылается на тег «A» в «H2»

Есть ли более простой способ выбрать родительский Div без использования родителей () дважды. Я попытался

$(this).parent("div").attr("id")

Но это не сработало.

Спасибо

Это было полезно?

Решение

Ты можешь использовать .closest(), как это:

$(this).closest("div").attr("id")

Вы можете проверить это здесь. .parent("div") не так интуитивно понятен, как кажется, он получает Только то немедленный родитель если Это соответствует селектору, .closest() подниматься родителями до того как Это соответствует селектору.

Обратите внимание, что (не применяется к этому примеру), если this соответствует селектору, он возвращает тот элемент, это не Начало С первым родителем он начинается с самого себя.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top