Jquery- Check if class Exist inside a Div
html, jquery
Solution
You should select a class selector (`.`) in `find` since you are searching for class
.find('.accordion-body')
//^--- here
Also note that the `accordion-body` exists in parent div (next to the current element i.e this (`.accordion-heading`)) so use `parent()` or if you are sure it will always be the next div then you can use `.next`.
Try this
$(this).parent().find('.accordion-body').length == 1;
or you can use `hasClass()`
Problem
I have been trying to check whther a class exists inside a div. But it is always resulting a length 0. Here is my Code :- ``` <div id="accordion2" class="accordion" > <div class="accordion-group"> <div class="accordion-heading"> <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne"> <div class="align-nav arrow-active">OSTOMY PRODUCTS</div></a> </div> <div id="collapseOne" class="accordion-body in collapse"> <div class="accordion-inner"> <ul> <li><a href="#">Professional Resources</a></li> <li><a href="#">One-piece Pouching</a></li> </ul> </div> </div> </div> <div class="accordion-group"> <div class="accordion-heading"> <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo"> <div class="align-nav arrow-inactive">LEARNING CENTER</div> </a> </div> <div id="collapseTwo" class="accordion-body collapse"> <div class="accordion-inner"> <ul> <li><a href="#">Videos</a></li> <li><a href="#">Before Your Surgery</a></li> </ul> </div> </div> </div> <div class="accordion-group"> <div class="accordion-heading"> <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseThree"> <div class="align-nav">PROFESSIONAL RESOURCES </div> </a> </div> </div> <div class="accordion-group"> <div class="accordion-heading"> <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseThree"> <div class="align-nav">PROFESSIONAL RESOURCES </div> </a> </div> </div> </div> ``` For the First 2 div $(this).find('accordion-body').length should be 1. But it still show 0. My Jquery COde is as Follows :- ``` $('.accordion-heading').click(function() { if($(this).find('accordion-body').exist()) { alert('hi'); if($(this).find('.collapsed').length > 0) { alert('hi'); //$(this).find('.accordion-toggle .align-nav').removeClass('arrow-active').addClass('arrow-inactive'); } else { alert('hi'); //$(this).find('.accordion-toggle .align-nav').removeClass('arrow-inactive').addClass('arrow-active'); } } }); ``` I need to get the $(this).find('accordion-body').length = 1; Please provide Solutions.