将方法应用于数组中的单个元素-jquery/javascript

将方法应用于数组中的单个元素-jquery/javascript,javascript,jquery,Javascript,Jquery,我创建了一个名为$images(隐藏的类中的所有元素)的元素数组。然后,当我尝试对数组中的一个元素应用任何方法时,我得到一个$images[1]。attr不是一个函数错误。但是,例如,当我尝试$images.attr('id')而不指定数组的索引时,它可以工作,但只给出数组中第一个元素的结果 $images = $(".hidden"); alert($images[1].attr('id')); 这里发生了什么?如何将方法应用于数组中的单个元素?顺便说一句,在我测试数组时,我确信数组中至少有

我创建了一个名为
$images
(隐藏的
类中的所有元素)的元素数组。然后,当我尝试对数组中的一个元素应用任何方法时,我得到一个
$images[1]。attr不是一个函数
错误。但是,例如,当我尝试
$images.attr('id')
而不指定数组的索引时,它可以工作,但只给出数组中第一个元素的结果

$images = $(".hidden");
alert($images[1].attr('id'));
这里发生了什么?如何将方法应用于数组中的单个元素?顺便说一句,在我测试数组时,我确信数组中至少有两个元素。

使用.eq,如下所示:

$images = $(".hidden");
alert($images.eq(1).attr('id'));

希望这有帮助

$images[1]
不返回jQuery对象,而是返回dom元素


您需要
$($images[1]).attr('id')

如果您仍然想要一个jQuery对象,而不是检索本机DOM元素对象,则需要使用该函数。这将在数组中的某个位置获取一个元素,并返回包装在jQuery对象中的元素,以便您可以对其执行jQuery操作

因此:

如果只需要DOM元素,可以使用方括号表示法或方法。然后,您可以直接查找DOM属性:

$images[1].id;  // is the same as
$images.get(1).id; 

jQuery用元素本身中不存在的方法装饰结果数组。要获取特定元素,可以使用
eq
选择器或方法:

$images = $(".hidden");
alert($images.eq(1).attr('id'));


是的,不过最好注意选择器的速度要慢得多。
$images = $(".hidden");
alert($images.eq(1).attr('id'));
$image = $(".hidden:eq(1)");
alert($image.attr('id'));