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

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

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

ОНЛАЙН-ПРАКТИКУМ
ЗАПУСК DEEPSEEK R1 ЛОКАЛЬНО НА СВОЕМ КОМПЬЮТЕРЕ
ЧТО БУДЕТ НА ОБУЧЕНИИ?
  • ПОКАЖЕМ, КАК РАЗВЕРНУТЬ МОДЕЛЬ DEEPSEEK R1 ПРЯМО НА СВОЁМ КОМПЬЮТЕРЕ
  • Где и как применять? Потестируем модель после установки на разных задачах
  • Как дообучить модель под себя?

Метод add

Используется для добавления одного или нескольких классов к элементу.

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 дают легко изменять классы элементов, что в свою очередь влияет на их стили и поведение. Эти методы обеспечивают гибкость и удобство при разработке динамичных и интерактивных веб-приложений. Понимание того, как использовать эти методы, дает создавать более сложные и отзывчивые пользовательские интерфейсы.

Большой практикум
ЗАМЕНИ ВСЕ НЕЙРОСЕТИ НА ОДНУ — PERPLEXITY
ПОКАЖЕМ НА КОНКРЕТНЫХ КЕЙСАХ
  • Освой Perplexity и узнай, как пользоваться функционалом остальных ИИ в одном
  • УЧАСТВОВАТЬ ЗА 0 РУБ.
  • Расскажем, как получить подписку (240$) бесплатно
Участвовать бесплатно
ОНЛАЙН-ПРАКТИКУМ
ЗАПУСК DEEPSEEK R1 ЛОКАЛЬНО НА СВОЕМ КОМПЬЮТЕРЕ
ЧТО БУДЕТ НА ОБУЧЕНИИ?
  • ПОКАЖЕМ, КАК РАЗВЕРНУТЬ МОДЕЛЬ DEEPSEEK R1 ПРЯМО НА СВОЁМ КОМПЬЮТЕРЕ
Участвовать бесплатно