Напротив jQuery's .Closest (Топ / Дальний?)
У меня есть код с большим количеством подменю, которые имеют одно и то же имя класса.
Вот структура:
.menu
.sub-menu
.sub-menu
.sub-menu
.sub-menu
.sub-menu
.sub-menu
.elem
.elem
.sub-menu
Обратите внимание, что.sub-menu
может быть бесконечным уровнем глубины.
Итак, как мне этого добиться: когда.elem
нажата, я хочу пройти DOM вверх, пока самый верхний.sub-menu
достигается и применить стиль к нему. Я в курсе.closest()
а также.parent()
а также.find()
, но я понятия не имею, есть ли в jQuery такая функция, как.topMost(selector)
?
Единственный способ, о котором я могу думать, это, возможно, запустить цикл и пройти через.closest('.sub-menu')
нового элемента, пока его длина не станет равной нулю (больше нет родителей с этим классом, поэтому он должен быть самым верхним). Тем не менее, я думаю, что должен быть более практичный подход к этому.