I have loop in wordpress that generates a div with two divs inside and a hide and a show element like below -
Because this is in the loop there may be several of these exact boxes on the same page.
I want to be able to click on the .show link to expand the .full-desc (which is hidden via css) and the .show to disappear, and the .hide to appear (which is also hidden by css). Then I want the opposite where I can click .hide it will toggle .full-desc shut, disappear and unhide .show.
I can get all this to happen but it targets every .hide .show on the page. What am I missing that allows me to create this script but only target the classes within its parent div?
Code:
<div class="vacancy-desc">
<div class="short-desc">
Content
</div>
<div class="full-desc">
Content
</div>
<a href="#" class="link show">MORE <span class="fa fa-chevron-right"></span></a>
<a href="#" class="link hide"><span class="fa fa-chevron-right"></span> LESS</a>
</div>
Because this is in the loop there may be several of these exact boxes on the same page.
I want to be able to click on the .show link to expand the .full-desc (which is hidden via css) and the .show to disappear, and the .hide to appear (which is also hidden by css). Then I want the opposite where I can click .hide it will toggle .full-desc shut, disappear and unhide .show.
I can get all this to happen but it targets every .hide .show on the page. What am I missing that allows me to create this script but only target the classes within its parent div?
Code:
<script>
$('.vacancy-desc a.show').click(function(event){
event.preventDefault();
$(this).prev().slideToggle('slow');
$(this).hide();
});
$('.vacancy-desc a.hide').click(function(event){
event.preventDefault();
$(this).prev().slideToggle('slow');
$(this).hide();
});
</script>