NodeList: forEach() メソッド

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

forEach()NodeList インターフェイスのメソッドで、引数に渡されたコールバックを、リストのそれぞれの値のペアに対して 1 度ずつ挿入順に呼び出します。

構文

js
forEach(callback)
forEach(callback, thisArg)

引数

callback

someNodeList の各要素に対して実行する関数です。3 つの引数を受け付けます。

currentValue

現在 someNodeList で処理されている要素です。

currentIndex 省略可

現在 someNodeList で処理されている currentValue のインデックスです。

listObj 省略可

forEach() を適用しようとしている someNodeList です。

thisArg 省略可

callback 内で this として使う値です。

返値

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

仕様書

Specification
DOM Standard
# interface-nodelist

ブラウザーの互換性

BCD tables only load in the browser

関連情報