我有这个菜单结构
<div id="menu-s">
<ul>
<li>
<a href="#">About Us</a>
<ul class="sub-menu">
<li>
<a>
</li>
</ul>
</li>
我用这个js:
<script>
$(document).ready(function () {
$('#menu-s > li > a').click(function(){
if ($(this).attr('class') != 'active'){
$('#menu-s li ul').slideUp();
$(this).next().slideToggle();
$('#menu-s li a').removeClass('active');
$(this).addClass('active');
}
});
});
</script>
我只想在调用父li时使子ul可见。 请在这件事上给予我帮助.. 感谢
答案 0 :(得分:2)
您没有第一个<ul>
的结束标记。此外,您的选择器无效。它应该是$('#menu-s > ul > li > a')
@edit
代码$(this).attr('class') != 'active'
也是无效的,因为它总是正确的(我认为)。你应该使用类似if(!$(this).hasClass('active'))
@ EDIT2
那是因为在你的情况下你只处理了没有类“活动”的情况,但是当它处理时,你没有代码来处理它。添加一个将解决此问题的else语句。