2

スタックオーバーフローのjqueryコードを使用しています。ページへのリンクは次のとおりです。

https://stackoverflow.com/questions/2...76196#13976196

ルート要素以外の大きな UL ツリー構造を非表示にする必要があります。上記のコードは、次の行を理解できないことを除けば、うまく機能します。

コード:

$('ul, li', $('#lesson-sidebar ul li')).hide();

このコードは、リスト内のすべての UL 項目と LI 項目を非表示にしますが、ルート要素は除外します。$('#lesson-sidebar ul li')2番目のセレクターパラメーターとして追加すると、非表示コマンドから除外される方法がわかりません。

hide コマンドは表示状態を切り替えないことを知っているので、ルート要素を隠してすぐに表示するわけではありません。他のほとんどの記述は、ルート要素を除外するために :not などのコマンドに依存しています。

そのコマンドでルート要素が非表示にならない理由を誰か説明できますか? パーツを削除すると$('#lesson-sidebar ul li')、実際にはルート要素が非表示になることに注意してください。

4

1 に答える 1

3

つまり$('ul, li', $('#lesson-sidebar ul li'))_

子であるすべてulを選択しますli$('#lesson-sidebar ul li')

そのセレクターのパターンは次の$('children selector', parent) とおりです例でわかるように、親は文字列ではなく、DOM または jQuery 要素です

于 2012-12-20T16:31:34.587 に答える