This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.
The NodeList.keys() method returns an iterator allowing to go through all keys contained in this object. The keys are unsigned integer.
keys()
None.
Returns an iterator.
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);
let list = node.childNodes;
// Using for...of
for (const key of list.keys()) {
console.log(key);
}
The result is:
0 1 2
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
keys |
51 | 16 | 50 | 38 | 10 | 51 | 50 | 41 | 10 | 5.0 | 51 | 10 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/NodeList/keys