繁体   English   中英

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

[英]applying methods to single elements in an array - jquery/javascript

我创建了一个称为$images的元素数组( hidden类中的所有元素。)然后,当我尝试将任何方法仅应用于数组中的一个元素时,我得到的是$images[1].attr is not a function错误。 但是,例如,当我尝试$images.attr('id')而不指定数组的索引时,它可以工作,但仅提供数组中第一个元素的结果。

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

这是怎么回事,如何将方法应用于数组中的单个元素? 顺便说一句,我确定在对此进行测试时,数组中至少有两个元素。

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

所以:

$images.eq(1).attr('id');

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

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

使用.eq,如下所示:

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

希望这可以帮助!

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

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

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

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

要么

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM