使用jquery折叠/展开ul列表

时间:2014-06-07 08:47:18

标签: jquery

我发现这个代码(下面)折叠/展开了" ul"列表

它工作正常,但我每次都需要这样做" ul"扩大所有其他人" ul"关闭。

http://jsfiddle.net/mtCWr/2/

  <ul class="list">
    <li>
        <a>Rifles</a>
        <ul>
            <li>M16</li>  
            <li>MP5</li>  
            <li>AR15</li>  
            <li>M16A1</li>            
        </ul>                
    </li>

    <li>
        <a>Guns</a>
        <ul>
            <li>Magnum</li>  
            <li>Colt</li>      
        </ul>                
    </li>
</ul>​

JS

$('.list > li a').click(function() {
    $(this).parent().find('ul').toggle();
});​

1 个答案:

答案 0 :(得分:1)

您需要将以下行添加到点击处理程序以关闭任何打开的ul

$('.list > li a').click(function() {
    $('.list ul:visible').hide(); // this closes any open ul
    $(this).parent().find('ul').toggle();
});

Example fiddle