Свойство classList
classList - это удобное свойство DOM, которое предоставляет доступ к управлению классами элемента через объект DOMTokenList. Это свойство позволяет не только просматривать текущие классы элемента, но и динамически добавлять, удалять или изменять их, улучшая интерактивность ваших веб-страниц.
let element = document.getElementById("myElement");
console.log(element.classList); // Выведет текущий список классов element
Это свойство включает в себя несколько методов, которые делают работу с классами элементов более интуитивно понятной и легкой:
classList.add() - добавляет один или несколько классов к элементу.
classList.remove() - удаляет один или несколько классов из элемента.
classList.replace() - заменяет один класс на другой.
classList.toggle() - добавляет класс, если его нет, и удаляет, если он уже есть.
classList.contains() - проверяет наличие класса у элемента.
Рассмотрим подробно методы свойства classList
classList.add()
Метод add() позволяет добавлять новые классы к элементу, что может быть полезно для изменения стиля элемента на лету. Метод поддерживает добавление нескольких классов за один вызов, делая процесс модификации элемента более эффективным и удобным.
element.classList.add("new-class");
// Добавляет класс 'new-class' к element
element.classList.add("new-class", "another-class");
// добавляет классы 'new-class' и 'another-class' к element
classList.remove()
Метод remove() удаляет один или несколько указанных классов, что помогает контролировать визуальное представление элементов. Метод поддерживает удаление нескольких классов за один вызов.
element.classList.remove("old-class");
// Удаляет класс 'old-class' из element
element.classList.remove("old-class", "another-old-class");
// удаляет классы 'old-class' и 'another-old-class' из element
classList.replace()
replace() заменяет существующий класс новым, облегчая обновление стилей без необходимости последовательного удаления и добавления классов.
element.classList.replace("old-class", "new-class");
// Заменяет old-class на new-class
classList.toggle()
Метод toggle() играет ключевую роль в переключении классов, автоматически добавляя или удаляя их в зависимости от текущего состояния элемента. Этот метод также поддерживает дополнительный параметр, который определяет, должен ли класс быть добавлен или удален, независимо от его текущего состояния.
element.classList.toggle("toggle-class");
// Добавляет или удаляет 'toggle-class', в зависимости от его наличия
element.classList.toggle("toggle-class", condition);
// Добавляет 'toggle-class', если condition истинно, и удаляет, если ложно
classList.contains()
contains() выполняет проверку наличия определённого класса, что позволяет условно применять стили или выполнять определённые действия.
if(element.classList.contains("some-class")) {
console.log("element содержит класс some-class");
}
Длина classList
Свойство length объекта classList предоставляет информацию о количестве классов, присвоенных HTML элементу. Это свойство позволяет разработчикам узнавать точное число классов, ассоциированных с элементом, что может быть полезно при диагностике или в процессе манипуляции классами.
let element = document.getElementById("myElement");
console.log(element.classList.length); // Выведет количество классов, присвоенных element
Итого
Свойство classList открывает перед разработчиками широкие возможности для динамического управления классами HTML элементов. Оно облегчает добавление, удаление, изменение и проверку классов, делая веб-страницы более интерактивными и гибко адаптируемыми к потребностям пользователей.