2016-09-28 17 views
0

我想我的菜單元素顯示一個子菜單,當我點擊子按鈕。但我也有其他菜單元素相同的HTML和類。所以當我按下按鈕時,它會打開所有子菜單並關閉打開的菜單。jquery只針對點擊父類而不是其他人?

我想讓它工作,以便當我點擊一個按鈕時,只有他的父母子菜單打開和關閉,如果點擊。

<ul> 
    <li class="menu-item current-menu-item"> 
    <a href="">Menu1</a> 
    <button>click</button> 
     <ul class="submenu"> 
     <li>asdasd</li> 
     </ul> 
    </li> 
    <li class="menu-item"> 
    <a href="">Menu2</a> 
    <button>click</button> 
     <ul class="submenu"> 
     <li>asdasd</li> 
     </ul> 
    </li> 
    <li class="menu-item"> 
    <a href="">Menu3</a> 
    <button>click</button> 
     <ul class="submenu"> 
     <li>asdasd</li> 
     </ul> 
    </li> 
</ul> 

.submenu { 
    display: none; 
} 
.current-menu-item .submenu { 
    display: block; 
} 

$(".menu-item button").click(function(){ 
    $(".menu-item button").parent('.menu-item').toggleClass("current-menu-item"); 
}); 

http://codepen.io/rKaiser/pen/QKgQVQ

謝謝。

+1

使用'$(本)''而不是$(「菜單項按鈕」)的所有元素。 – Mohammad

回答

2
$(".menu-item button").click(function(){ 
    $(this).parent('.menu-item').toggleClass("current-menu-item"); 
}); 

否則jQuery選擇發現`在單擊事件與類。菜單項按鈕

相關問題