我有一个代码,其中包含许多共享相同类名的子菜单。
这是一个结构:
.menu
.sub-menu
.sub-menu
.sub-menu
.sub-menu
.sub-menu
.sub-menu
.elem
.elem
.sub-menu
请注意,.sub-menu
深度可能是无限的。
那么我如何实现这一点:.elem
单击时,我想向上遍历 DOM 直到.sub-menu
到达最顶部并对其应用样式。我知道.closest()
and .parent()
,.find()
但我不知道 jQuery 是否有这样的功能,例如.topMost(selector)
?
我能想到的唯一方法可能是运行一个循环并遍历.closest('.sub-menu')
新元素,直到它的长度为零(这个类没有更多的父级,所以它必须是最顶层的)。但是,我认为应该有一个更实际的方法来解决这个问题。