如何在数组中的元素中使用 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');
如果不是,你可以按照其他答案说的去做。
所以,我有一个名为“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');
如果不是,你可以按照其他答案说的去做。