Jquery 获取数组中对象的属性

Jquery 获取数组中对象的属性,jquery,attr,Jquery,Attr,出于某种原因,当我在数组中定义数字时,jQuery没有给我数组中对象的属性。但是,当没有定义特定对象时,它将返回数组中第一个对象的类。例如,这项工作: $('#content').prepend($('div #left ol.group li',data).attr("class")); 但这并不是: $('#content').prepend($('div #left ol.group li',data)[3].attr("class")); 有人能给我解释一下为什么它不能像大多数其他函

出于某种原因,当我在数组中定义数字时,jQuery没有给我数组中对象的属性。但是,当没有定义特定对象时,它将返回数组中第一个对象的类。例如,这项工作:

$('#content').prepend($('div #left ol.group li',data).attr("class"));
但这并不是:

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

有人能给我解释一下为什么它不能像大多数其他函数那样工作,以及如何使它工作吗?

使用jQuery,通过使用
eq

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

使用索引器访问jQuery集的单个元素将返回一个DOM对象,该对象没有
.attr()
方法。您需要
.eq(3)
,它返回一个包装该单个元素的jQuery对象。

如果您告诉他为什么以及什么,这将是+1。:-)(例如,当索引到jQuery对象时,返回的是原始DOM元素,而不是jQuery对象。)