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

How to use attr in elements within an array?

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

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 = ....

直接设置属性

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

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

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

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

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