1

すべての li .subnav 要素に影響を与えています。子要素のみにアクセスするにはどうすればよいですか?

$("#left_content").on('click', '.left_navigation ul li', function () {
    $(".left_navigation ul li .sub_nav").slideToggle("slow");
}); 
4

6 に答える 6

0

マークアップを見ないと正確な答えを出すのは難しいですがthis、関連する を切り替えるために使用する必要があるようです.sub_nav:

$(this).find('.sub_nav').slideToggle('slow');

thisclickイベントをトリガーした DOM ノードを表し、.find('.sub_nav')そのノードの子孫をクラスで検索しますsub_nav

于 2013-06-06T10:03:33.770 に答える
0

これを試して:

$("#left_content").on('click', '.left_navigation ul li', function () {
    $(this).children('.sub_nav').slideToggle("slow");
});

.children()メソッドは.find()とは異なり、.children()は DOM ツリーを 1 レベル下に移動するだけですが、.find() は複数のレベルを下に移動して子孫要素 (孫など) も選択できます。

于 2013-06-06T10:03:43.863 に答える
0
$('.left_navigation ul li').click( function () {
    $(this).find(".sub_nav").slideToggle("slow");
}); 
于 2013-06-06T10:03:51.050 に答える
0
$(".left_navigation ul li > .sub_nav").slideToggle("slow");
于 2013-06-06T10:00:47.100 に答える