This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.
The keys() method of the DOMTokenList interface returns an iterator allowing to go through all keys contained in this object. The keys are unsigned integers.
keys()
None.
Returns an iterator.
In the following example we retrieve the list of classes set on a <span> element as a DOMTokenList using Element.classList. We then retrieve an iterator containing the keys using keys(), then iterate through those keys using a for...of loop, writing each one to the <span>'s Node.textContent.
First, the HTML:
<span class="a b c"></span>
Now the JavaScript:
const span = document.querySelector("span");
const classes = span.classList;
const iterator = classes.keys();
for (let value of iterator) {
span.textContent += `(${value}) `;
}
The output looks like this:
| 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 |
42 | 16 | 50 | 29 | 10.1 | 42 | 50 | 29 | 10.3 | 4.0 | 42 | 10.3 |
© 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/DOMTokenList/keys