2012-04-27 12 views
1

jQueryを初めて使用しています。アコーディオンの垂直メニューバーを作成するjQueryコードがあります。メニューバーのデフォルトの動作は、すべての子要素を非表示にすることです。私は、ユーザーがトップレベルメニューをクリックし、子オプションを公開した後、メニューの状態を保存したいjQuery filter特定の要素ul

var menu_ul = $('.menu > li > ul'); 
menu_ul.hide(); 

を次のようにそれを達成するためのコードです。私は他のクラスと区別するために、特定のクラスをトップレベルの項目に追加することができます。

この作業をするには、上記のjQueryコードを変更して、特定のクラス以外のすべてのul項目を非表示にする必要があります。言い換えれば

は、クラス=「show_item」

が助けてください場合を除き、すべてのUL要素を非表示に!

答えて

2

クラスshow_itemを持たないすべての順序付けられていないリストを非表示にする場合は、これを達成するために:not selectorを使用できます。読みやすくするために

$("ul:not(.show_item)").hide(); 

、jQueryのドキュメントは、あなたが.not() filtering methodを考慮示唆:

$("ul").not(".show_item").hide(); 

あなたpoisinを選択してください - のいずれかがうまく動作します。

+0

ありがとうございます。コードを変更しました.... $( '。menu> li> ul')。not( '。show_item') – Neel

関連する問題