The replace() method of the DOMTokenList interface replaces an existing token with a new token.




A DOMString representing the token you want to replace.
A DOMString representing the token you want to replace oldToken with.

Return value

A boolean value — true if the token was replaced successfully, and false if not.

Note: In older browsers, replace() returns void.


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:

var span = document.querySelector("span");
var classes = span.classList;

var result = classes.replace("c", "z");

if(result) {
  span.textContent = classes;
} else {
  span.textContent = 'token not replaced successfully';

The output looks like this:


Specification Status Comment
The definition of 'replace()' in that specification.
Living Standard Initial definition

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
replaceChrome Full support 61Edge Full support 17Firefox Full support 49IE ? Opera Full support 48Safari Full support 10.1WebView Android Full support 61Chrome Android Full support 61Firefox Android Full support 49Opera Android Full support 45Safari iOS Full support 10.3Samsung Internet Android No support No
return()'s value is a boolean, not void as it used to be.Chrome Full support 67Edge Full support 18Firefox Full support 61IE No support NoOpera Full support 54Safari Full support 12WebView Android Full support 67Chrome Android Full support 67Firefox Android Full support 61Opera Android Full support 48Safari iOS Full support 12Samsung Internet Android No support No


Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown