2011-10-31 80 views
1

我如何檢查以確保兄弟姐妹不包含我正在尋找的類之前,我開始與closest() DOM旅行?我可以用closest()siblings()函數來實現,但我想知道是否有一個已經存在的jquery函數來處理這個問題。jQuery最接近()後兄弟姐妹返回0

+4

你能提供一些html來使你的問題更清晰嗎? – Deleteman

+0

[最接近的文檔](http://api.jquery.com/closest/)表示它確實返回當前元素 - 即兄弟 - 如果合適的話,這聽起來就是你想要的。剛打電話給最近的()有什麼問題?它會給你錯誤的結果嗎? – Rup

+1

問題不是很清楚。 「確保給定元素的兄弟不包含...」會更清晰,但代碼示例無助於此。 –

回答

0

closest()查找DOM,siblings()看起來在任何一方;我不相信有任何jQuery方法都可以。您必須以siblings()(可能與.andSelf())開頭,然後測試length以查看是否需要檢查closest()

+0

這是我試圖避免的,因爲我認爲有一個更優雅的方式來做到這一點。但我認爲你的答案可能是對的。 –

1

將該類作爲選擇器添加到.siblings()。然後,檢查選擇的大小是否等於零。

if($(this).siblings('.aRandomClass').length == 0) { 
    // No sibling with class aRandomClass 
} else { 
    // The length is not zero, so there's a sibling with class aRandomClass 
}