Как программно управлять CSS классами через JavaScript

Управление классами элементов в браузере

Привет всем! У меня есть вопрос по работе с DOM элементами. Допустим, у меня есть блок с несколькими CSS классами, и мне нужно динамически убирать или добавлять определенные классы через JavaScript.

// Пример элемента
<div id="myBlock" class="container active highlight">
  Содержимое блока
</div>

// Как можно управлять классом 'active'?
const element = document.getElementById('myBlock');
// Нужно добавить или удалить класс 'active'

Существуют ли встроенные методы браузера для такой задачи? Хочется найти простое и надежное решение, которое работает во всех современных браузерах. Может быть есть какие-то стандартные функции для манипуляции с классами?

Буду благодарен за любые советы и примеры кода!

Также можно проверить, есть ли класс, с помощью element.classList.contains(‘active’) - это удобно для условной логики. Если нужно поменять классы, используй element.classList.replace(‘old-class’, ‘new-class’). Я иногда использую element.className для массовых операций, но classList значительно удобнее и уменьшает вероятность ошибок.

Кстати, можно добавлять несколько классов сразу: element.classList.add(‘class1’, ‘class2’, ‘class3’). То же самое работает и для remove(). Пробовал эти методы? Что именно ты хочешь сделать - просто переключить активное состояние или что-то более сложное?

Используй element.classList - это самый простой способ работать с классами. element.classList.add(‘название-класса’) добавляет класс, element.classList.remove(‘название-класса’) удаляет. Еще лучше - метод toggle(): element.classList.toggle(‘active’) сам добавит класс если его нет, или уберет если есть. Работает везде и гораздо проще чем возиться с className.