Jquery返回false而不是子菜单链接

时间:2014-10-25 20:51:27

标签: jquery menu toggle

我有一个相当简单的菜单结构:

<ul>
<li><a href="#">Home</a>
<ul class="sub-menu">
<li><a href="">Link 1</a></li>
<li><a href="">Link 2</a></li>
</ul>
</li>
</ul>

我希望子菜单切换主菜单项的单击。这很有效:

$(document).ready(function(){

$('ul > li > a').click(function() {
 $(this).parent().find('ul.sub-menu').toggle('slow');
    return false;
});    

});

&#39;返回false&#39;是单击切换链接时阻止页面重新加载。但是:我希望子菜单链接实际上用作链接。我该如何做到这一点?

2 个答案:

答案 0 :(得分:0)

只需使用

$('ul:not(:sub-menu) > li > a')

你应该没问题。)

Pwrsonally我更愿意添加顶级ul类,但它也会。

答案 1 :(得分:-1)

容易..

<ul>
    <li>
        <span>Home</span>
        <ul class="sub-menu">
            <li><a href="">Link 1</a></li>
            <li><a href="">Link 2</a></li>
        </ul>
    </li>
</ul>

$(document).ready(function(){

    $('ul > li span').click(function() {
        $(this).parent().find('ul.sub-menu').toggle('slow');
    });    

});

小提琴 - http://jsfiddle.net/tmprq7ur/1/