有人可以帮助代码。
我只想在点击子菜单父级时显示子菜单。
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>
因此,如果您单击父子菜单将显示。
这是小提琴链接 - http://jsfiddle.net/KhNCV/1/
答案 0 :(得分:10)
$('.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');
});
答案 1 :(得分:2)
$('.sub-menu').hide();
$("a").click(function(){
$(this).parent().children("ul").toggle();
})
答案 2 :(得分:1)
这是your example working。目前还不清楚你为什么需要a
标签,因为你可以在CSS中使用cursor:pointer来使li
看起来像是可点击的。我会假设你想在IE浏览器上做一些漂亮的徘徊,那只是CSS吗?如果没有,您可以通过删除它们来简化。
而不是在.submenu上执行hide(),你应该使用CSS(用DOM而不是onReady / load解析)。
.sub-menu { display: none; }
接下来是您切换菜单的代码:
$('ul li a').click(function() {
$(this).parent().find('ul.sub-menu').toggle();
return false;
});
答案 3 :(得分:1)
$('li a').click(
function() {
$(this).next().slideToggle();
})
答案 4 :(得分:0)
试试这个
$(function(){
//Hide all the sub menus
$('.sub-menu').hide();
$("li:has(ul)").click(function(){
//Find the child ul and slideToggle
$(this).children("ul").slideToggle();
});
});