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
DOMString
representing the token you want to toggle. force
Optional- A
Boolean
that, if included, turns the toggle into a one way-only operation. If set tofalse
, thentoken
will only be removed, but not added. If set totrue
, thentoken
will 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.