← Все вопросы
Как добавить, убрать и переключить класс у элемента в JS?
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').
Ваш ответ
Войдите, чтобы ответить на вопрос.