Reputation: 9293
I want to hide a target
image by clicking on the NEXT
button.
Here is my try but it doesn't work.
<div class='gwrap'>
<div class='gins'>
<img class='gimg' src='...' alt='img'>
<img class='gimg' src='...' alt='img'>
<img class='gimg' src='...' alt='img'> // target
</div>
<div class='gbtns'>
<div class='gnext'>NEXT</div>
</div>
</div>
$(document).on('click', '.gnext', function(){
let a = $(this).closest('.gwrap').find('.gimg:last-child');
a.hide();
});
Upvotes: 1
Views: 74
Reputation: 22323
closest
traversing up through its ancestors in the DOM tree. Just use parent()
with closest
like below.
$(document).on('click', '.gnext', function() {
let a = $(this).parent().closest('.gwrap').find('.gimg:last-child');
a.hide();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class='gwrap'>
<div class='gins'>
<img class='gimg' src='...' alt='img'>
<img class='gimg' src='...' alt='img'>
<img class='gimg' src='...' alt='img'> // target
</div>
<div class='gbtns'>
<div class='gnext'>NEXT</div>
</div>
</div>
Upvotes: 1