This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The add() method of the DOMTokenList interface adds the given tokens to the list, omitting any that are already present.
add(token1) add(token1, token2) add(token1, token2, /* …, */ tokenN)
tokenNA string representing a token (or tokens) to add to the DOMTokenList.
None.
SyntaxError DOMException
Thrown if one of the arguments is an empty string
InvalidCharacterError DOMException
Thrown if a token contains ASCII whitespace.
In the following example, we retrieve the list of classes set on a <span> element as a DOMTokenList, using Element.classList. We then add a new token to the list, and write the list into 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;
classes.add("d");
span.textContent = classes;
The output looks like this:
You can add multiple tokens as well:
span.classList.add("d", "e", "f");
| Specification |
|---|
| DOM> # ref-for-dom-domtokenlist-add①> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
add |
8 | 12 | 3.6 | ≤12.1 | 5.1 | 18 | 4 | ≤12.1 | 5 | 1.0 | 3 | 5 |
multiple_parameters |
24 | 12 | 26 | 15 | 7 | 25 | 26 | 14 | 7 | 1.5 | 4.4 | 7 |
© 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/add