显示和隐藏UL标签

时间:2013-08-29 14:05:26

标签: jquery

我有以下HTML:

<nav class="menu" role="navigation">
  <ul>
    <li><a href="#">Home</a></li>
    <li>
      <a href="#">Content</a>
      <ul>
        <li><a href="#">Files</a></li>
        <li><a href="#">Posts</a></li>
      </ul>
    </li>  
    <li><a href="#">Site</a></li>             
  </ul>
</nav>

使用以下CSS样式:

nav ul ul {display: none;} // Hides the child menus

以下JQuery代码:

$('nav.menu a[href="#"]').click(function () {
  $(this).next('ul').toggle();
});

应该切换子菜单的可见性。

然而,当我点击“Content”A标签时,下一个UL不显示。

有谁知道如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

这项工作对我来说很好:

$(document).ready(function(){    
    $('nav.menu a[href="#"]').click(function () {
        $(this).next('ul').toggle();
    });
});

正确切换<a href="#">Content</a>

旁边的ul菜单

答案 1 :(得分:0)

我发现了问题......我在最初的问题中发布了我的问题:

nav ul ul {display: none;}

但实际上我有以下内容:

nav ul ul {display: none !important;}

我正在使用“隐藏”LESS mixin并没有意识到它......

但使用重要的Jquery Toggle工作是不是很奇怪?