我有一個包含許多共享相同類名的子菜單的代碼。jQuery's .Closest(Top/Far-Most?)對面
這裏有一個結構:
.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')
,直到它的長度爲零(這個類沒有更多的父母,所以它必須是最頂層的)。不過,我認爲應該有一個更實際的方法來解決這個問題。
如果您認爲它將爲未來的讀者闡明問題的目的,請隨意將標題編輯爲更合適的標題。 – 2013-06-14 08:42:44
我很酷。它是什麼我Google搜索。剛剛發佈以備將來參考:) – 2013-06-14 09:37:29
這對於find()與nearest()的相反是不正確的。 find()將查找樹中的所有元素。所以,最接近()的相反,搜索下來,將是find()。first()。 – 2014-02-27 20:34:28