Naprzeciwko jQuery's. Close (Top / Far-Most?)
Mam kod z wieloma podmenu, które mają tę samą nazwę klasy.
Oto struktura:
.menu
.sub-menu
.sub-menu
.sub-menu
.sub-menu
.sub-menu
.sub-menu
.elem
.elem
.sub-menu
Zauważ, że.sub-menu
może być nieskończenie głęboki.
Jak więc to osiągnąć: kiedy.elem
jest kliknięty, chcę przechodzić przez DOM w górę, aż do góry.sub-menu
jest osiągnięty i zastosuj do niego styl. Jestem świadomy.closest()
i.parent()
i.find()
, ale nie mam pojęcia, czy jQuery ma taką funkcję, jak.topMost(selector)
?
Jedynym sposobem, w jaki mogę myśleć, jest uruchomienie pętli i przejście przez nią.closest('.sub-menu')
nowego elementu, dopóki jego długość nie będzie równa zero (nie ma już rodziców z tą klasą, więc musi być najwyższa). Myślę jednak, że powinno być bardziej praktyczne podejście do tego.