它影響着所有li.subnav元素,我如何才能訪問只有子元素?它影響着所有li.subnav元素,我如何才能訪問只有子元素?
$("#left_content").on('click', '.left_navigation ul li', function() {
$(".left_navigation ul li .sub_nav").slideToggle("slow");
});
它影響着所有li.subnav元素,我如何才能訪問只有子元素?它影響着所有li.subnav元素,我如何才能訪問只有子元素?
$("#left_content").on('click', '.left_navigation ul li', function() {
$(".left_navigation ul li .sub_nav").slideToggle("slow");
});
$(".left_navigation ul li > .sub_nav").slideToggle("slow");
如果您需要的李下sub_navs,那麼這樣做:".left_navigation ul li > .sub_nav"
最簡單快捷的將被點擊的東西中只引用子項目。 this
將把該項目被點擊,傳遞一個以$()
第二個參數將只查詢嵌套內<li>
$("#left_content").on('click', '.left_navigation ul li', function() {
$('.sub_nav', this).slideToggle("slow");
});
調用$(selector, this)
元素是與調用$(this).find(selector)
FWIW,如果人們不熟悉這種語法。
沒有看到您的標記,很難給出一個準確的答案,但它聽起來像你只需要使用this
切換相關.sub_nav
:
$(this).find('.sub_nav').slideToggle('slow');
this
代表觸發click
事件的DOM節點,和.find('.sub_nav')
搜索與類sub_nav
該節點的後代試試這個:
$("#left_content").on('click', '.left_navigation ul li', function() {
$(this).children('.sub_nav').slideToggle("slow");
});
.children()方法與.find()的不同之處在於.children()只向DOM樹的下一層傳遞,而.find()可以向下遍歷多個層以選擇後代元素(孫輩等)。
$('.left_navigation ul li').click(function() {
$(this).find(".sub_nav").slideToggle("slow");
});
It Works ... Thanks – Ajoshi