0

私はここから見つけた次のコードを持っています子を持つメニューをクリックします:

    $("a").click(function(e) {
        var children = $(this).closest("li").children("ul");
        if (children.is(":visible")) {
            children.slideUp();//use custom hide here
        }
        else {
             children.slideDown();//use custom show here
             }
         });
    $("li ul").hide(); //quick hack to hide all children to start with

親をクリックするたびに、他の親のすべての子が非表示になるようにします。

ここでコードを作成しますhttp://jsfiddle.net/FTdxS/42/しかし、特定の親をクリックしたときに他の親の子を非表示にする方法がわかりません。

find メソッドを使用する必要があることは知っていますが、理解できません。

どんな助けでも大歓迎です。

4

2 に答える 2

2
$("a").click(function(e) {
    $(this).closest("li").children("ul").slideToggle().end()
           .siblings('li').children('ul').slideUp();
});

フィドル

于 2013-07-03T20:28:10.593 に答える
0

これをelse条件で使用できます:

    $('li ul:visible').not(children).slideUp()

フィドル: http://jsfiddle.net/FTdxS/44/

于 2013-07-03T20:29:42.533 に答える