NodeList: forEach() 方法

Baseline 已广泛支持

此功能已非常成熟,可在多种设备和浏览器版本上使用。自 2017 年 10 月以来,它已在各大浏览器中可用。

NodeList 接口的 forEach() 方法会按照插入顺序,为列表中的每一对值调用一次参数中给出的回调函数。

语法

js
forEach(callback)
forEach(callback, thisArg)

参数

回调

一个将在 someNodeList 的每个元素上执行的函数。它接受 3 个参数

currentValue

someNodeList 中正在处理的当前元素。

currentIndex 可选

someNodeList 中正在处理的 currentValue 的索引。

listObj 可选

正在应用 forEach()someNodeList

thisArg 可选

执行 callback 时用作 this 的值。

返回值

undefined.

示例

js
const node = document.createElement("div");
const kid1 = document.createElement("p");
const kid2 = document.createTextNode("hey");
const kid3 = document.createElement("span");

node.appendChild(kid1);
node.appendChild(kid2);
node.appendChild(kid3);

const list = node.childNodes;

list.forEach(function (currentValue, currentIndex, listObj) {
  console.log(`${currentValue}, ${currentIndex}, ${this}`);
}, "myThisArg");

上面的代码产生以下结果

[object HTMLParagraphElement], 0, myThisArg
[object Text], 1, myThisArg
[object HTMLSpanElement], 2, myThisArg

规范

规范
DOM
# interface-nodelist

浏览器兼容性

另见