Reputation: 261
I have a div that contains a dynamic number of specific children that I need to change from hide to show. Its really hard to explain but the code gives a clear picture.
<div class="item_content_container">
<div class="content_container">
<div class="item">ITEM A</div>
<div class="item">ITEM B</div>
<div class="item">ITEM C</div>
</div>
<div class="content_container">
<div class="item">ITEM A</div>
<div class="item">ITEM B</div>
<div class="item">ITEM C</div>
</div>
</div>
<div class="item_options_container">
<div class="item_click">CLICK</div>
</div>
The code can continue to repeat itself so I only want to select the "item" classes before the "item_click" div.
here is the jQuery:
$(".item_click").live('click', function () {
$(this).parent().siblings(".item_content_container").find(".item").show();
});
Upvotes: 2
Views: 147
Reputation: 205987
$(".item_options_container").on('click', '.item_click', function () {
$(this).closest('.item_options_container')
.prev('.item_content_container')
.find('.item')
.show();
});
http://api.jquery.com/on/ (.live()
method is deprecated)
http://api.jquery.com/closest/ (or also .parent()
in your case)
http://api.jquery.com/prev/
http://api.jquery.com/find/
Upvotes: 3