Given the html:
<div class="a">
<div class="b">
<div class="c">
<div class="d">
</div>
</div>
<div class="d">
</div>
</div>
</div>
Im interested in the selecting the parent element with class a
applied to it when any element with the class 'd' is clicked.
I have the following javascript / jQuery, but it seems very messy. Is there a neater way?
<script>
$('.d').click(function(){
var elementA = $(this).parentsUntil('.a').last().parent();
})
</script>
You want $(this).closest('.a')
.
you can also do:
$(".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 here.
hope that helps! cheers.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With