2011-03-25 156 views
0

出於某種原因,當我在數組中定義數字時,jQuery並未向我提供數組中對象的屬性。不過,如果沒有特別定義,它將返回數組中第一個對象的類。例如,這個工程:獲取數組中對象的屬性

$('#content').prepend($('div #left ol.group li',data).attr("class")); 

但這並不:

$('#content').prepend($('div #left ol.group li',data)[3].attr("class")); 

有人能向我解釋爲什麼這並不像大多數其他職能的工作要做,如何使它工作?

+0

數組在哪裏? – Neal 2011-03-25 17:20:54

回答

3

訪問一個jQuery的單個元素使用索引返回一個DOM對象,該對象不具有.attr()方法設定得到的索引。你想要.eq(3),它返回一個jQuery對象包裝單個元素。

4

與jQuery通過使用eq

$('#content').prepend($('div #left ol.group li',data).eq(3).attr("class")); 
+1

如果你告訴他爲什麼*以及是什麼,這將是一個+1。 (例如,因爲當你編入jQuery對象時,你得到的是一個原始的DOM元素,而不是一個jQuery對象。) – 2011-03-25 17:23:48