Can someone help with the code.
I want to show a submenu only when I click on a submenu item.
HTML
<ul> <li><a href="#">Item</a></li> <li><a href="#">Item</a> <ul class="sub-menu"> <li><a href="#">Submenu</a></li> <li><a href="#">Submenu</a></li> </ul> </li> <li><a href="#">Item</a></li> <li><a href="#">Item</a> <ul class="sub-menu"> <li><a href="#">Submenu</a></li> <li><a href="#">Submenu</a></li> </ul> </li> <li><a href="#">Item</a></li> </ul>
So, if you click on the parent submenu, you will see.
Here is the link to the fiddle - http://jsfiddle.net/KhNCV/1/
$('.sub-menu').hide(); $("li:has(ul)").click(function(){ $("ul",this).slideDown(); });
http://jsfiddle.net/3nigma/KhNCV/2/
OR
$('.sub-menu').hide(); $("li:has(ul)").click(function(){ $("ul",this).toggle('slow'); });
http://jsfiddle.net/3nigma/KhNCV/4/
$('.sub-menu').hide(); $("a").click(function(){ $(this).parent().children("ul").toggle(); })
check out this link http://jsfiddle.net/KhNCV/6/
. , a, : CSS, li . , IE, CSS? , , .
a
li
, hide() .submenu, CSS ( DOM onReady/load).
.sub-menu { display: none; }
:
$('ul li a').click(function() { $(this).parent().find('ul.sub-menu').toggle(); return false; });
$('li a').click( function() { $(this).next().slideToggle(); })
$(function(){ //Hide all the sub menus $('.sub-menu').hide(); $("li:has(ul)").click(function(){ //Find the child ul and slideToggle $(this).children("ul").slideToggle(); }); });