I'm using this question's code to make a show/hide toggle
jQuery .toggle() to show and hide a sub-menu
$('#menu-lateral .sub-menu').hide(); //Hide children by default
$('#menu-lateral > li > a').click(function() {
event.preventDefault();
$(this).siblings('.sub-menu').slideToggle('slow');
});
The problem is that my sub-menu has its own sub-menu with many items. Is there a way to adapt this code to work ALSO in the next level?
Important info: wordpress makes by default the child UL with the same class, so both are .sub-menu.
Like:
<ul id="menu-lateral" class="menu">
<li id="menu-item-29"><a href="#">Parent Level 1</a>
<ul class="sub-menu">
<li id="menu-item-108"><a href="#">Parent Level 2</a>
<ul class="sub-menu">
<li id="menu-item-104"><a href="#">Element</a></li>
</ul>
</li>
</ul>
</li>
</ul>
Fiddle: http://jsfiddle.net/qfygM/1/
Thanks for the help!
UPDATE: The solution may be found here >> http://jsfiddle.net/qfygM/7/
Made by Zenith.
$('#menu-lateral .sub-menu').hide(); //Hide children by default
$('#menu-lateral li a').click(function(event){
if ($(this).next('ul.sub-menu').children().length !== 0) {
event.preventDefault();
}
$(this).siblings('.sub-menu').slideToggle('slow');});