我有一個標準的多級別列表,我需要檢查特定項目的根目錄,直到
$(e.target).parents('ul').length === 1
爲此可以使用.parentsUntil()
嗎?還是有另一種方法,我可以使用,所以我可以檢查列表項的根目錄是否有特定的類?
我有一個標準的多級別列表,我需要檢查特定項目的根目錄,直到
$(e.target).parents('ul').length === 1
爲此可以使用.parentsUntil()
嗎?還是有另一種方法,我可以使用,所以我可以檢查列表項的根目錄是否有特定的類?
你在找什麼叫做.closest()
。
說明:對於組中的每一個元素,獲取通過測試元件本身和DOM樹向上遍歷通過它的祖先選擇相匹配的第一個元素。使用
例子:
if($(e.target).closest('ul').hasClass('cls')) {
//do something
alert('Class Found');
}
如果你有'li> ul> li> ul> li ...'這不會帶來根'ul',不是嗎? –
@TimMarshall不,它不會。它會得到第一個匹配:***對於集合中的每個元素,獲取匹配選擇器的第一個元素*** –
謝謝Aniket進一步解釋:) –
您可以使用parentsUntil
$(e.target).parentsUntil('ul.someClass')
所以它會與一類someClass
.length
是使用選擇ul
檢查它是否存在或不。
類似'$(e.target).closest('ul')。hasClass('something')' – adeneo