同じクラス名を共有するサブメニューがたくさんあるコードがあります。
構造は次のとおりです。
.menu
.sub-menu
.sub-menu
.sub-menu
.sub-menu
.sub-menu
.sub-menu
.elem
.elem
.sub-menu
.sub-menu
無限のレベルの深さである可能性があることに注意してください。
では、どうすればこれを実現できますか。.elem
クリックすると、最上部に.sub-menu
到達するまでDOMを上方向にトラバースし、スタイルを適用します。私は.closest()
and.parent()
とを知っ.find()
ていますが、jQueryにそのような機能があるかどうかはわかりませ.topMost(selector)
ん。
私が考えることができる唯一の方法は、ループを実行し.closest('.sub-menu')
、長さがゼロになるまで新しい要素を通過することです(このクラスの親はもう存在しないため、最上位である必要があります)。ただし、これにはもっと実用的なアプローチが必要だと思います。