0

我有这个菜单结构

<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 时使 sub ul 可见..请帮助我..谢谢

4

1 回答 1

2

第一个没有结束标签<ul>。此外,您的选择器无效。它应该是$('#menu-s > ul > li > a')

@edit
代码$(this).attr('class') != 'active'也是无效的,因为它总是正确的(我认为)。你应该使用类似的东西if(!$(this).hasClass('active'))

@edit2
那是因为如果你只处理没有类“活动”的情况,但是当它这样做时,你没有代码来处理它。添加将解决此问题的 else 语句。

于 2013-01-10T16:03:50.570 回答