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 insomeNodeList
. listObj
Optional-
The
someNodeList
thatforEach()
is being applied to.
thisArg
Optional-
Value to use as
this
when executingcallback
.
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