I am trying to open/close nested sub menus, I have three or four levels of nested ul
s which are all closed but the first one. When I start clicking on the elements, the next ul
should open and toggle show/hide. The js
below it's not fully accomplishing what I am looking for.
CSS
.closed {
display: none;
}
.opened {
display: block;
}
HTML
<ul>
<li><button type="button">TOGGLE</button>
<ul class="closed">
<li>Two
<ul class="closed">
<li>Three
<ul class="closed">
<li>Four</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
Trying js:
$("button").on("click", function(){
$(this).parent().next("ul").toggle(function() {
$(this).removeClass("closed").addClass("opened");
}, function() {
$(this).removeClass("opened").addClass("closed");
});
});
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…