Работа с классами в JavaScript является одной из основных задач при манипуляции элементами DOM. В этой статье мы узнаем, как добавлять, удалять и переключать классы в элементах HTML с помощью JavaScript. Эти методы дают динамически изменять внешний вид и поведение элементов на веб-странице.
Основные методы для работы с классами
JavaScript дает несколько методов для управления классами элементов DOM: add, remove и toggle. Все эти методы являются частью интерфейса classList, который доступен у всех элементов DOM.
Метод add

- Прямо в эфире решим типичные задачи программиста только с помощью ChatGPT
- Возможности Python — расскажем что можно делать и сколько на этом зарабатывать?
- Что ждет рынок программирования и почему мы решили сюда пойти
Используется для добавления одного или нескольких классов к элементу.
javascript element.classList.add('my-class');
Метод remove
Удаляет один или несколько классов из элемента.
javascript element.classList.remove('my-class');
Метод toggle
Переключает класс: если класс присутствует, он будет удален; если его нет — добавлен.
javascript element.classList.toggle('my-class');
Добавление класса
Дает изменять его внешний вид с помощью CSS. Вот пример, где мы добавим класс highlight к элементу при нажатии кнопки.
HTML
html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Добавление класса в JavaScript</title> <link rel="stylesheet" href="styles.css"> </head> <body> <div id="my-element">Это элемент</div> <button id="add-class-btn">Добавить класс</button> <script src="script.js"></script> </body> </html>
CSS
css /* styles.css */ .highlight { background-color: yellow; }
JavaScript
javascript // script.js document.getElementById('add-class-btn').addEventListener('click', function() { document.getElementById('my-element').classList.add('highlight'); });
Удаление класса
Дает убрать определенные стили из элемента. В следующем примере мы удалим класс highlight при нажатии кнопки.
HTML
html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Удаление класса в JavaScript</title> <link rel="stylesheet" href="styles.css"> </head> <body> <div id="my-element" class="highlight">Это элемент</div> <button id="remove-class-btn">Удалить класс</button> <script src="script.js"></script> </body> </html>
CSS
css /* styles.css */ .highlight { background-color: yellow; }
JavaScript
javascript // script.js document.getElementById('remove-class-btn').addEventListener('click', function() { document.getElementById('my-element').classList.remove('highlight'); });
Переключение класса
Дает легко добавлять или удалять класс в зависимости от его текущего состояния. Этот метод полезен для создания интерактивных элементов, таких как кнопки переключения.
HTML
html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Переключение класса в JavaScript</title> <link rel="stylesheet" href="styles.css"> </head> <body> <div id="my-element">Это элемент</div> <button id="toggle-class-btn">Переключить класс</button> <script src="script.js"></script> </body> </html>
CSS
css /* styles.css */ .highlight { background-color: yellow; }
JavaScript
javascript // script.js document.getElementById('toggle-class-btn').addEventListener('click', function() { document.getElementById('my-element').classList.toggle('highlight'); });
Проверка наличия класса
Для проверки, присутствует ли класс у элемента, используется метод contains.
Пример:
javascript if (element.classList.contains('my-class')) { console.log('Класс my-class присутствует'); } else { console.log('Класс my-class отсутствует'); }
Заключение
Работа с классами в JavaScript — это важный аспект манипуляции DOM. Методы add, remove и toggle дают легко изменять классы элементов, что в свою очередь влияет на их стили и поведение. Эти методы обеспечивают гибкость и удобство при разработке динамичных и интерактивных веб-приложений. Понимание того, как использовать эти методы, дает создавать более сложные и отзывчивые пользовательские интерфейсы.
- Освой Python и нейросети и узнай, как гарантированно получить первые 10 заказов
- УЧАСТВОВАТЬ ЗА 0 РУБ.
- Создай и прокачай собственного чат-бота
- Подарим подборку бесплатных инструментов для написания кода