私は、同じクラス名を共有する多数のサブメニューを持つコードを持っています。 .sub-menu
が深い無限のレベルを得ることをjQueryとは反対側です。最上位(最上位/最上位)
.menu
.sub-menu
.sub-menu
.sub-menu
.sub-menu
.sub-menu
.sub-menu
.elem
.elem
.sub-menu
注:
はここ構造です。
これを達成するには.elem
をクリックしたときに、DOMの上位から.sub-menu
に達するまでDOMをトラバースしてスタイルを適用する必要があります。私は.closest()
と.parent()
と.find()
を知っていますが、jQueryには.topMost(selector)
のような機能があるのかどうか分かりません。
私が考えることができる唯一の方法は、おそらくループを実行し、その長さが0になるまで新しい要素の.closest('.sub-menu')
を通過することです。(このクラスの親がなくなるので、一番上になければなりません。しかし、これにはもっと実用的なアプローチが必要だと思います。
将来の読者のために質問の目的を明確にすると思われる場合は、タイトルをより適切なものに自由に編集してください。 –
イムクールでそれ。私はそれが私のグーグルだ。 –
find()がclosest()の反対である点については、これは間違っています。 find()はツリー内のすべての要素を検索します。だから、closest()の逆の検索はfind()。first()です。 –