DOMTokenList: метод toggle()
Базовая Широко поддерживается
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Метод toggle() интерфейса DOMTokenList удаляет существующий токен из списка и возвращает false. Если токен не существует, он добавляется, а функция возвращает true.
Синтаксис
toggle(token) toggle(token, force)
Параметры
token-
Строка, представляющая токен, который нужно переключить.
forceНеобязательно-
Если указано, переключение выполняется в одностороннем порядке. Если установлено в значение
false, тоtokenтолько будет удален, но не добавлен. Если установлено в значениеtrue, тоtokenтолько будет добавлен, но не удален.
Возвращаемое значение
Булево значение, true или false, указывающее, содержится ли token в списке после вызова или нет.
Примеры
Переключение класса при нажатии
В следующем примере мы получаем список классов, установленных на элементе <span> как DOMTokenList с помощью Element.classList. Затем мы заменяем токен в списке и записываем список в Node.textContent элемента <span>.
Сначала HTML:
<span class="a b">classList is 'a b'</span>
Теперь JavaScript:
const span = document.querySelector("span");
const classes = span.classList;
span.addEventListener("click", () => {
const result = classes.toggle("c");
span.textContent = `'c' ${
result ? "added" : "removed"
}; classList is now "${classes}".`;
});
Вывод будет выглядеть так и будет изменяться каждый раз, когда вы нажимаете на текст:
Установление параметра force
Второй параметр может использоваться для определения включения или выключения класса. В этом примере класс 'c' будет включен только если ширина окна браузера превышает 1000 пикселей:
span.classList.toggle("c", window.innerWidth > 1000);
Спецификации
| Спецификация |
|---|
| DOM # ref-for-dom-domtokenlist-toggle① |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
toggle |
8 | 12 | 3.6 | ≤12.1 | 5.1 | 18 | 4 | ≤12.1 | 5 | 1.0 | 3 |
force_parameter |
24 | 12 | 24 | 15 | 7 | 25 | 24 | 14 | 7 | 1.5 | 4.4 |
© 2005–2024 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