NodeList: forEach() method

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.

The forEach() method of the NodeList interface calls the callback given in parameter once for each value pair in the list, in insertion order.

Syntax

js
forEach(callback)
forEach(callback, thisArg)

Parameters

callback

A function to execute on each element of someNodeList. It accepts 3 parameters:

currentValue

The current element being processed in someNodeList.

currentIndex Optional

The index of the currentValue being processed in someNodeList.

listObj Optional

The someNodeList that forEach() is being applied to.

thisArg Optional

Value to use as this when executing callback.

Return value

Example

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");

The above code results in the following:

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

Specifications

Specification
DOM Standard
# interface-nodelist

Browser compatibility

BCD tables only load in the browser

See also