2017-02-10 9 views
0

jQueryで特定の要素を持たない要素を選択する方法。ユーザーがメニューまたはサイドバー自体をクリックした後に閉じるが、ドロップダウンメニューに限定されるサイドバーを作成したい。ここでは、メニューの構造のコードは次のとおりです。特定の要素を持たない要素をjQueryで選択する方法

<li><a href="#">Menu Normal</a></li> 
<li> 
    <a href="#">Menu Dropdown</a> 
    <ul class="sidebar-nav-child"> 
    <li><a href="#">Menu-1</a></li> 
    <li><a href="#">Menu-1</a></li> 
    <li><a href="#">Menu-1</a></li> 
    </ul> 
</li> 

はここでjQueryの:私はドロップダウンをクリックしていても上記

$(".sidebar-toggle").click(function(e){ 
    e.preventDefault(); 
    $("#wrapper").addClass('sidebar-show'); 
    $("#sidebar, .sidebar-nav li:not(:has(.sidebar-nav-child)) a").click(function(){ 
    $("#wrapper").removeClass('sidebar-show'); 
    }); 
}); 

私のコードは、まだサイドバーを閉じます。 ありがとうございます。

+2

マークアップの#sidebar要素と#wrapper要素はどこですか?また、clickイベントがバインドされる可能性のあるクラス.sidebar-toggleを持つ要素もありません。これをどのように再現する必要がありますか? – Connum

答えて

0

あなたは.sidebar-navの直接の子であるとulを入れ子に含まれていませんli処理する必要があります。

$("#sidebar, .sidebar-nav > li:not(:has(ul)) a") 

しかし、私はここに#sidebarの明確どのような役割を取得していないが。

関連する問題