Javascript 如何在数组中的元素中使用attr?

Javascript 如何在数组中的元素中使用attr?,javascript,jquery,arrays,attr,Javascript,Jquery,Arrays,Attr,因此,我有一个包含200个项目的数组,称为“icone”,当我使用此代码时: icone.attr('src', 'img/known.svg'); 所有项目都会根据代码中的内容进行更改。 但是,如果我只想更改此数组中的一项,而不是全部200项,该怎么办 我试过: icone[0].attr('src', 'img/known.svg'); 但控制台返回“icone[0]。attr不是函数” 你有什么想法可以让它工作吗? 谢谢 一旦执行了icone[0],您将处理一个原始节点,而不是jQue

因此,我有一个包含200个项目的数组,称为“icone”,当我使用此代码时:

icone.attr('src', 'img/known.svg');
所有项目都会根据代码中的内容进行更改。 但是,如果我只想更改此数组中的一项,而不是全部200项,该怎么办

我试过:

icone[0].attr('src', 'img/known.svg');
但控制台返回“icone[0]。attr不是函数”

你有什么想法可以让它工作吗?
谢谢

一旦执行了
icone[0]
,您将处理一个原始节点,而不是jQuery“包装器”。该原始元素没有
.attr
函数

正如Ouroborus所建议的,只需通过执行
icone[0].src=…
直接设置属性

(如果大毒蛇除了他们的评论之外还提交了一个答案,你应该将其标记为接受,而不是这个答案。我只是想解释一下为什么你所做的不起作用。)


编辑:有趣的是,
icone.first().attr(…)
确实有效,因为它确实用jQuery包装器包装了第一个元素。

如果在这种情况下绝对需要使用jQuery。您可以这样做:

$(icone[0]).attr('src', 'img/known.svg');

如果不是,您可以按照其他答案所说的做。

应该是
icone[0]。src='img/known.svg'
。jQuery的函数通常只在jQuery集合上工作,而不在元素的通用数组上工作。如果
icone
是jQuery集合,那么它应该是
icone.eq(0).attr(src,'img/known.svg')
。让icone001=$(“img:first child”);icone001.attr(“src”、“img/known.svg”);控制台日志(icone001]);“你必须做”。。。。实际上还有很多其他方法,比如原始集合上的
first()
eq(0)