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

Основные методы для работы с классами

JavaScript дает несколько методов для управления классами элементов DOM: add, remove и toggle. Все эти методы являются частью интерфейса classList, который доступен у всех элементов DOM.

Метод add

ОНЛАЙН-ПРАКТИКУМ
КАК «ХАКНУТЬ» PYTHON С ПОМОЩЬЮ CHATGPT
ЧТО БУДЕТ НА ОБУЧЕНИИ?
  • Прямо в эфире решим типичные задачи программиста только с помощью 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 дают легко изменять классы элементов, что в свою очередь влияет на их стили и поведение. Эти методы обеспечивают гибкость и удобство при разработке динамичных и интерактивных веб-приложений. Понимание того, как использовать эти методы, дает создавать более сложные и отзывчивые пользовательские интерфейсы.

3-дневный курс
НАУЧИСЬ СОЗДАВАТЬ TELEGRAM-БОТОВ НА PYTHON С CHATGPT
C НУЛЯ ЗА 3 ДНЯ
  • Освой Python и нейросети и узнай, как гарантированно получить первые 10 заказов
  • УЧАСТВОВАТЬ ЗА 0 РУБ.
  • Создай и прокачай собственного чат-бота
Участвовать бесплатно
Вебинар
ФРИЛАНС И ПРОЕКТНАЯ РАБОТАДЛЯ PYTHON-РАЗРАБОТЧИКА
  • Подарим подборку бесплатных инструментов для написания кода
Участвовать бесплатно