作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题在这里已经有了答案:
Why doesn't nodelist have forEach?
(10 个回答)
Looping through a nodelist JS
(1 个回答)
3年前关闭。
我正在寻找一种迭代 NodeList 的最佳方法,不包括长度。我在用:
var foo = document.querySelectorAll('[id^=foo_id]')
console.log(foo)
0: input#foo_id_...
1: input#foo_id_...
..................
n: input#foo_id_...
length: n+1
最佳答案
最简单的方法是 for
环形:
for (let i = 0; i < foo.length; i++) {
// Do stuff
}
for
loop 是您在 NodeList 上循环所需的全部内容。 (感谢异端猴子向我指出这一点)。
forEach
这样的数组方法,
map
等,最好先转换为数组 - 这对于传播来说非常简单:
[...foo].forEach(e /* Do stuff */);
map
, 使用
Array.from
因为第二个参数是要应用于
map
的回调。 .
Array.from(foo, e => /* .map callback */);
Array.prototype.slice.call(foo).forEach(e => /* Do stuff */);
关于JavaScript 遍历 NodeList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56990500/
我是一名优秀的程序员,十分优秀!