将方法应用于数组中的单个元素-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'));
相关文章:
- 可以't附加html元素jquery
- 循环遍历元素jquery选择器
- 在ajax加载的元素jquery上包含现有的jquery函数
- 如何删除元素列表中的类并添加到另一个元素 Jquery.
- 获取单击的类元素 jQuery 的名称值
- 获取上一个元素 jQuery 的内容
- 根据另一个元素的更改获取一个元素(jquery)
- 区分不同的可拖放元素(jQuery 拖放)
- 除了最后一个<td>元素-Jquery
- 获取子元素jQuery的单选按钮值
- 捕获元素jquery外部的mousedown事件
- .append到非DOM元素jQuery
- 获取其父元素的精确子元素.Jquery
- 获取重复结构中的特定元素jquery
- 捕获隐藏输入元素jQuery的值
- 使用onclick函数获取点击的元素jquery
- 返回父元素 jquery 中的输入值
- 按属性查找元素 jQuery
- 选择元素 jQuery
- 按子元素 - jQuery 的数据 ID 对 li 进行排序