【发布时间】:2014-05-07 14:41:04
【问题描述】:
我正在尝试向上和向下滑动菜单内的子菜单。子菜单也可以包含子菜单等。
这是html:
<ul class="nav">
<li class="nav-parent"><a href="#">Level 1</a>
<ul class="nav-child">
<li class="nav-parent"><a href="#">Level 2</a>
<ul class="nav-child">
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
</ul>
</li>
<li><a href="#">some stuff</a></li>
<li><a href="#">some stuff</a></li>
<li><a href="#">some stuff</a></li>
</ul>
</li>
<li><a href="#">some stuff</a></li>
<li><a href="#">some stuff</a></li>
<li><a href="#">some stuff</a></li>
</ul>
如您所见,有两个子菜单,嵌套子菜单*
$('.nav-parent').on('click', function(){
var me = $(this);
if(me.hasClass('child-opened')){
//child already opened > close
me.find("> .nav-child").slideUp(200);
me.removeClass('child-opened');
} else {
//child not opened > open
me.find("> .nav-child").slideDown(200);
me.addClass('child-opened');
}
});
jQuery 适用于第一级,但不适用于第二级。 nav-child 默认设置为 display:none in css。
【问题讨论】:
-
me.find("> .nav-child")与me.children(".nav-child")相同