Search code examples
jqueryclasshtmlselectparent

jQuery - select div at same level


I want to select a specific div, when clicking on a button... The only issue is, it has to be the div of the buttonClicked's parent div... Sample:

 <div class="container">
   <div class="box">
     <h2>Langtidsparkering</h2>
     <div class="content">
       Lorem ipsum dolor sit amet..
     </div>
   </div>
   <div class="listcontainer">
     <div class="list"> (THIS DIV SHOULD GET A CLASS "VISIBLE", WHEN THE BUTTON IS CLICKED)
     </div>
     <div class="listbar">
       <button class="viewPrices" type="submit" title="Open">Se priser<span></span </button>
      </div>
    </div>
  </div>

Code:

    $(".viewPrices").click(function () {
         $(".viewPrices").parents('.listaccordion .list').toggleClass('visible');
});

Any suggestions ? :-)


Solution

  • This should do it.

    .closest will go up through the parents until it finds a match. Then from that you can .find the target div that you are looking for.

    $(".viewPrices").click(function () {
         $(this).closest('.listcontainer').find('.list').toggleClass('visible');
    });
    

    here is an updated fiddle: http://jsfiddle.net/n264v/2/