这是您可以完成此任务的另一种方法。(使用 css 和一点 jquery)
http://jsfiddle.net/CSmg7/
首先,您可以简化一些导航(是的,我知道您需要 UL 中的真实内容),此外,将锚点作为 ul 的直接子项是无效的,它应该包含在列表项中,或者在ul。您最好的选择可能是使用或作为您的菜单
<nav id="nav">
<ul>
<li>
<a href="#" class="open toggleMenu">Open Menu</a><a href="#" class="closed toggleMenu">Close Menu</a>
<ul>
<li>something</li>
<li>something</li>
</ul>
</li>
</ul>
</nav>
只需使用js向父级添加一个类:
$("#nav")
.on("click", ".toggleMenu", function(event){
event.preventDefault();
$(this)
.parent()
.toggleClass("open");
});
并添加一点 css 使您的 jquery 工作:
#nav li ul,
#nav li .toggleMenu.closed,
#nav li.open .toggleMenu.open{
display: none;
}
#nav li.open ul,
#nav li.open .toggleMenu.closed{
display: block; /*or whatever you need*/
}
那么你可以有多个菜单,如果你需要的话,那就行了