hi just a general question. When making a javascript/jquery what would be the easiest way to indivate a particualr sibling div, or parent div, with a particular class.
The scenario is sometihng like this
<div class="a">
<div class="b"> </div>
<div class="c">
<div class="d"> </div>
</div>
</div>
i would like to make clicking on div class b open div class c. I would also like to make clicking on div class d close div class c. div class b is a sibling div to div class c and div class c and div class c is a parent of div class d.
it is important that the javascript reffers to their parents or siblings because div class a (the container) will be repeated many times and each different instance of div class b and d should open different divs onclick, instead of all opening all instances with div class c.
so far i have thought of using something like an
event.target.getElementsByTagName("div")[]
- but actually i think this only looks for children of a particular div which really isnt what i want because im looking for indicating a sibling and a parent. anyone who knows how to do this who could point me in the right direction?
You can access the sibling via jQuery's
.sibling()
method:For more precise sibling selection you can use
.prev('.c')
or.next('.c')
.There is also a general sibling selector represented by the tilde
~
:For closing
.c
when clicked on.d
I would rely on event bubbling: