Ответ 1
Вы хотите $(this).closest('.a')
.
Учитывая html:
<div class="a">
<div class="b">
<div class="c">
<div class="d">
</div>
</div>
<div class="d">
</div>
</div>
</div>
Мне интересен выбор родительского элемента с приложенным к нему классом a
при нажатии на любой элемент с классом 'd'.
У меня есть следующий javascript/jQuery, но он кажется очень грязным. Есть ли более простой способ?
<script>
$('.d').click(function(){
var elementA = $(this).parentsUntil('.a').last().parent();
})
</script>
Вы хотите $(this).closest('.a')
.
вы также можете сделать:
$(".d").click(function() {
// parents() will walk up through parent nodes. If you
// pass a selector, the set will be filtered. If not,
// you get the full list of parent elements.
var elementA = $(this).parents(".a");
});
docs здесь.
надеюсь, что это поможет! веселит.