DOMTokenList.toggle()
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 -
If included, turns the toggle into a one way-only operation. If set to
false, thentokenwill only be removed, but not added. If set totrue, thentokenwill only be added, but not removed.
Return value
true or false, 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 |
|---|
| DOM Standard (DOM) # ref-for-dom-domtokenlist-toggle① |
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
toggle |
8 |
12 |
3.6 |
10 |
Yes |
6 |
3 |
18 |
4 |
Yes |
6 |
1.0 |
force_parameter |
24 |
12 |
24 |
No |
15 |
7 |
≤37 |
25 |
24 |
14 |
7 |
1.5 |
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/DOMTokenList/toggle