The replace() method of the DOMTokenList interface replaces an existing token with a new token. If the first token doesn't exist, replace() returns false immediately, without adding the new token to the token list.
Syntax
tokenList.replace(oldToken, newToken);
Parameters
oldToken- A
DOMStringrepresenting the token you want to replace. newToken- A
DOMStringrepresenting the token you want to replaceoldTokenwith.
Return value
A boolean value, which is true if oldToken was successfully replaced, or false if not.
Note: In older browsers, replace() returns void.
Examples
In the following example we retrieve the list of classes set on a <span> element as a DOMTokenList using Element.classList. We then replace a token in the list, and write the list into the <span>'s Node.textContent.
First, the HTML:
<span class="a b c"></span>
Now the JavaScript:
let span = document.querySelector("span");
let classes = span.classList;
let result = classes.replace("c", "z");
console.log(result);
if (result) {
span.textContent = classes;
} else {
span.textContent = 'token not replaced successfully';
}
The output looks like this:
Polyfill
The following polyfill will add the replace method to the DOMTokenList class. The following code will only work with IE10-11. To use with earlier versions of IE, refer to the polyfill at element.classList#Polyfill
DOMTokenList.prototype.replace = function (a, b) {
if (this.contains(a)) {
this.add(b);
this.remove(a);
return true;
}
return false;
}
Specifications
| Specification | Status | Comment |
|---|---|---|
| DOMThe definition of 'replace()' in that specification. | Living Standard | Initial definition |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
replace
|
Chrome
Full support 61 |
Edge
Full support 17 |
Firefox
Full support 49 |
IE
No support No |
Opera
Full support 48 |
Safari
Full support 10.1 |
WebView Android
Full support 61 |
Chrome Android
Full support 61 |
Firefox Android
Full support 49 |
Opera Android
Full support 45 |
Safari iOS
Full support 10.3 |
Samsung Internet Android
Full support 8.0 |
return()'s value is a boolean, not void as it used to be.
|
Chrome
Full support 67 |
Edge
Full support 18 |
Firefox
Full support 61 |
IE
No support No |
Opera
Full support 54 |
Safari
Full support 12 |
WebView Android
Full support 67 |
Chrome Android
Full support 67 |
Firefox Android
Full support 61 |
Opera Android
Full support 48 |
Safari iOS
Full support 12 |
Samsung Internet Android
Full support 9.0 |
Legend
- Full support
- Full support
- No support
- No support
DOMTokenList.replace() by Mozilla Contributors is licensed under CC-BY-SA 2.5.