This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The remove() method of the DOMTokenList interface removes the specified tokens from the list.
remove(token1) remove(token1, token2) remove(token1, token2, /* …, */ tokenN)
token1, …, tokenNA string representing the token you want to remove from the list. If the string is not in the list, no error is thrown, and nothing happens.
None (undefined).
In the following example we retrieve the list of classes set on a <span> element as a DOMTokenList using Element.classList. We then remove a token from the list, and write the list into the <span>'s Node.textContent.
First, the HTML:
<span id="ab" class="a b c"></span> <span id="a" class="a b c"></span>
Now the JavaScript:
const span = document.getElementById("ab");
const classes = span.classList;
classes.remove("c");
span.textContent = classes;
To remove multiple classes at once, you can supply multiple tokens. The order you supply the tokens doesn't have to match the order they appear in the list:
const span2 = document.getElementById("a");
const classes2 = span2.classList;
classes2.remove("c", "b");
span2.textContent = classes2;
The output looks like this:
| Specification |
|---|
| DOM> # ref-for-dom-domtokenlist-remove①> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
remove |
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/remove