2011-03-25 155 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