2010-12-17 27 views
0

這應該是非常簡單的,但我似乎無法弄清楚該怎麼做。我試圖弄清楚jQuery手風琴中的點擊部分是否有類。如果是這樣,我們需要執行一個函數。到目前爲止,我發現我可以檢查正在採取行動在改變功能使用以下內容部分:從手風琴改變功能訪問jQuery的ui對象

console.log(ui.newContent); 

看着螢火蟲的對象,我可以看到有一個0指數。點擊0展開它在Firebug中顯示它有一些列爲「get classList」的對象屬性之一。然而

console.log(ui.newContent[0].classList); 
console.log(ui.newContent[0].classList()); 

,我可以通過它來獲取對象的ID:然而,無論是下面的工作訪問此

console.log(ui.newContent[0].id); 

因此,出於好奇,誰知道如何訪問classList,或者我只需要使用id作爲選擇器並再次獲取對象,以便我可以在其上使用.hasClass?看起來像一個浪費,但它可能的解決方法。提前致謝!

+0

更新:我發現我也可以搜索className字符串以獲得相同的效果。這是最佳做法嗎?如果我甚至可以訪問它們,可能會比遍歷類的數組效率更高... – 2010-12-17 20:38:11

回答

1

jQuery.hasClass()應該爲你工作。在您的處理程序中:

if(ui.newContent.hasClass('foo')) { 
    // do something 
} 
+0

你完全正確。顯然,我只嘗試在ui.newContent [0]上使用.hasClass。衛生署! – 2010-12-17 20:53:18

+0

容易犯的錯誤。 ui.newContent是一個jQuery對象,包含手風琴中剛剛選擇的內容。當你通過ui.newContent [0]索引到一個jQuery對象時,jQuery返回一個DOM對象,這就是爲什麼hasClass和其他jQuery方法不再存在的原因。 – 2010-12-17 21:00:14