Ich habe einen Code mit vielen Untermenüs, die den gleichen Klassennamen teilen.Gegenüber von jQuery. Schließen (Top/Weit-Most?)
Hier ist eine Struktur:
.menu
.sub-menu
.sub-menu
.sub-menu
.sub-menu
.sub-menu
.sub-menu
.elem
.elem
.sub-menu
Beachten Sie, dass .sub-menu
tief endlose Ebenen sein kann.
Also wie erreiche ich das: wenn .elem
angeklickt wird, möchte ich das DOM nach oben durchlaufen, bis die oberste .sub-menu
erreicht ist und einen Stil darauf anwenden. Ich kenne und .parent()
und .find()
, aber ich habe keine Ahnung, ob jQuery solche Funktion wie .topMost(selector)
hat?
Der einzige Weg, an den ich denken kann, ist vielleicht eine Schleife laufen und durch .closest('.sub-menu')
des neuen Elements gehen, bis seine Länge Null ist (es gibt keine Eltern mit dieser Klasse, also muss es die oberste sein). Ich denke jedoch, dass es einen praktischeren Ansatz geben sollte.
Fühlen Sie sich frei, den Titel zu einem geeigneteren zu redigieren, wenn Sie denken, dass es den Zweck der Frage für zukünftige Leser klären wird. –
Ich bin damit cool. Es ist was ich gegoogelt habe. Einfach gepostet für zukünftige Referenz :) –
Dies ist falsch in Bezug auf find() ist das Gegenteil von engsten(). find() findet alle Elemente im Baum. Das Gegenteil von engsten(), nach unten suchen, wäre find(). First(). –