this parent jQuery
javascript, jquery, parent, this
Solution
Use `closest` instead of `parent`
$(this).closest("#categories")
parent will only go back 1 level , i.e, the immediate parent. But you gotta get the container that encloses all the 3 elements
So `$(this).parent(".drop-down")`
supposed to be either
$(this).parent().parent() // this will break if there is an extra
// parent container gets added
or
$(this).closest("#categories") // This will work even if the no of
// parent container keep chaning
Problem
jQuery ``` $(".drop-down h3").click(function(e) { e.preventDefault(); $(this).parent(".drop-down").find($("ul")).stop().slideToggle(); $(this).parent(".drop-down").find($(".divider-aside")).stop().toggle("slow"); $(this).parent(".drop-down").find($(".arrow")).stop().toggleClass("rotate1 rotate2"); }); ``` HTML ``` <div id="categories"> <div class="drop-down"> <h3>Categories</h3> </div> <div class="divider-aside"></div> <ul> <li>123</li> <li>12323</li> <li>1231</li> <li>523</li> <li>31</li> </ul> </div> ``` I'd like to hide everything in `.drop-down` class excluding `<h3>` by clicking on `<h3>`. In this case only `.arrow` toggleClass works.