Веб-версияОткрыть в Telegram

ПостElement.toggleAttribute() — нативное переключение DOM-атрибутов!

21 августа 2026
C
Code Ready | Frontend
Element.toggleAttribute() — нативное переключение DOM-атрибутов! В DOM многие состояния элементов представлены через наличие или отсутствие атрибутов: disabled, hidden, required и пользовательские атрибуты состояния компонентов. Element.toggleAttribute() предоставляет нативный механизм для управления такими состояниями без ручной проверки текущего значения. До появления toggleAttribute() подобные операции обычно реализовывались через отдельную проверку наличия атрибута и последующее добавление либо удаление: const button = document.querySelector('button'); if (button.hasAttribute('disabled')) { button.removeAttribute('disabled'); } else { button.setAttribute('disabled', ''); } Element.toggleAttribute() объединяет эту логику в один вызов. Метод проверяет текущее состояние атрибута и выполняет противоположное действие. button.toggleAttribute('disabled'); Если атрибут отсутствует — он будет добавлен. При повторном вызове — удалён. Для boolean HTML-атрибутов важно учитывать, что браузер анализирует сам факт присутствия атрибута, а не его значение. <button disabled> Submit </button> а также <button disabled=""> Submit </button> имеют одинаковое поведение. Метод возвращает boolean, отражающий состояние атрибута после выполнения операции: const isDisabled = button.toggleAttribute('disabled'); console.log(isDisabled); // true Дополнительно toggleAttribute() поддерживает второй аргумент force, который позволяет явно задать требуемое состояние вместо переключения. button.toggleAttribute('disabled', true); // добавить атрибут button.toggleAttribute('disabled', false); // удалить атрибут Этот вариант удобен при синхронизации DOM с состоянием приложения, когда итоговое значение уже вычислено: input.toggleAttribute('required', isRequired); toggleAttribute() работает с любыми валидными DOM-атрибутами, включая пользовательские флаги состояния компонентов: const card = document.querySelector('.card'); card.toggleAttribute('data-selected'); После выполнения: <div class="card" data-selected></div> На практике метод используется для управления простыми состояниями интерфейса: переключение видимости элементов, изменение доступности контролов, управление режимами компонентов и другие сценарии, где состояние выражается наличием атрибута. Например, управление видимостью через стандартный атрибут hidden: const block = document.querySelector('.details'); block.toggleAttribute('hidden'); 🔥 Element.toggleAttribute() определён в DOM Standard и предоставляет единый API для добавления и удаления атрибутов без необходимости вручную комбинировать hasAttribute(), setAttribute() и removeAttribute(). Полезный метод, который делает работу с DOM-состояниями более лаконичной и предсказуемой. Поддерживается всеми современными браузерами. 📣 Code Ready | #практика
26 · 1.8K ·

Рядом в ленте

CCode Ready | FrontendПопалась супер интересная статья на Хабре: «Как я собрал сайт на 30 000 SEO-страниц за месяц»! В этой статье: • Показывается, как в одиночку с помощью Claude и CCode Ready | FrontendЧто фронтенд может, а что не может, когда лёг хостинг Недавно натыкался на новость — у одного из хостеров случился короткий сбой на уровне энергоснабжения дата-
это сообщение
CCode Ready | Frontend🐱 Awesome Frontend Dev — большая подборка материалов и инструментов для frontend-разработчика! Здесь собраны учебники, справочники, курсы и полезные сервисы по CCode Ready | FrontendПолучаем порядковый номер элемента прямо в CSS! Для каскадной анимации списка часто приходится передавать индекс из JavaScript или прописывать :nth-child() для
CCode Ready | FrontendCode Ready | Frontend@code_ready · канал · Технологии
21 658подписчиков1 634средний охват поста
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем