2013-03-18 119 views
3

我有jQuery的children的數組,我保持一個變量:兒童陣列獲取特定的子

var panels = panelsHolder.children('div');

現在,我想只解決那些孩子之一,我知道它的索引,所以我做如下:

panels[currentpanel].addClass('show')

但我得到一個錯誤,因爲panels[currentpanel]返回的對象不是一個jQuery對象,這是一個平面的DOM元素。所以我不得不把它轉換成一個jQuery對象 - 像這樣:jQuery(panels[currentpanel]) - 但是必須有一種方法來將該對象作爲數組中的jQuery對象。

我如何做到這一點?

回答

3

你必須使用eq()得到jQuery的對象,而不是作爲DOM你現在得到。

panels.eq(currentpanel).addClass('show') 
+0

+ !,使用.eq(index).addClass('show')學習常用的東西:) – 2013-03-18 11:14:38

1

的問題是,當你從panels得到currentpanel索引你得到的純DOM對象,而不是jQuery對象。你可以用$()來解決這個問題。

$(panels[currentpanel]).addClass('show'); 

編輯:這看起來像快速和骯髒的方式,因爲你需要「投」的對象到jQuery對象再次做到這一點。 eq() as Adil建議是要走的路。

panels.eq(currentpanel).addClass('show') 
1

你可以在jQuery的