The toggle() method of the DOMTokenList interface removes a given token from the list and returns false. If token doesn't exist it's added and the function returns true.
Syntax
tokenList.toggle(token [, force]);
Parameters
token- A
DOMStringrepresenting the token you want to toggle. forceOptional- A
Booleanthat, if included, turns the toggle into a one way-only operation. If set tofalse, thentokenwill only be removed, but not added. If set totrue, thentokenwill only be added, but not removed.
Return value
A Boolean indicating whether token is in the list after the call.
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">classList is 'a b'</span>
Now the JavaScript:
let span = document.querySelector("span");
let classes = span.classList;
span.addEventListener('click', function() {
let result = classes.toggle("c");
if (result) {
span.textContent = `'c' added; classList is now "${classes}".`;
} else {
span.textContent = `'c' removed; classList is now "${classes}".`;
}
})
The output looks like this:
Specifications
| Specification | Status | Comment |
|---|---|---|
| DOMThe definition of 'toggle()' 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 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
toggle
|
Chrome
Full support 8 |
Edge
Full support 12 |
Firefox
Full support Yes |
IE
Full support 10 |
Opera
Full support Yes |
Safari
Full support 5.1 |
WebView Android
Full support 3 |
Chrome Android
Full support 18 |
Firefox Android
Full support Yes |
Opera Android
Full support Yes |
Safari iOS
Full support 5.1 |
Samsung Internet Android
Full support 1.0 |
force argument
|
Chrome
Full support Yes |
Edge
Full support ≤18 |
Firefox
Full support Yes |
IE
No support No |
Opera
Full support Yes |
Safari
Full support 6.1 |
WebView Android
Full support Yes |
Chrome Android
Full support Yes |
Firefox Android
? |
Opera Android
Full support Yes |
Safari iOS
Full support 6.1 |
Samsung Internet Android
Full support Yes |
Legend
- Full support
- Full support
- No support
- No support
- Compatibility unknown
- Compatibility unknown
DOMTokenList.toggle() by Mozilla Contributors is licensed under CC-BY-SA 2.5.