← Все вопросы

Как добавить, убрать и переключить класс у элемента в JS?

Задан 1 месяц назад581 просмотров3 ответа
10

Делаю кнопку «тёмная тема» / выпадашку. Нужно по клику добавлять класс, убирать его и переключать. Как это правильно делается, без возни со строкой className?

3 ответа

18
✓ Принятый ответ — помог автору

Используй classList — у него есть методы под каждую задачу:

el.classList.add('active');      // добавить
el.classList.remove('active');   // убрать
el.classList.toggle('active');   // переключить (есть → убрать, нет → добавить)
el.classList.contains('active'); // проверить, есть ли

Для кнопки-переключателя обычно достаточно одного toggle:

btn.addEventListener('click', () => {
  document.body.classList.toggle('dark');
});

Не трогай el.className = '...' вручную — так ты затрёшь все остальные классы элемента. classList меняет только нужный класс, остальные не задевает.

Сергей Попроцкий toggle ещё принимает второй аргумент-флаг: toggle('dark', isDark) — добавит/уберёт по условию · 1 месяц назад
6

classList.add, classList.remove, classList.toggle. Для переключателя — toggle.

3

el.classList.toggle('active').

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект