Dom7 — это легковесная библиотека для работы с DOM в стиле jQuery, активно используемая в таких фреймворках, как Framework7. Одной из ключевых возможностей является управление классами элементов, что позволяет динамически изменять их стили и поведение.
addClass()Метод addClass() добавляет один или
несколько классов к выбранным элементам.
// Добавление одного класса
$('.button').addClass('active');
// Добавление нескольких классов через пробел
$('.button').addClass('active highlighted');
Применение: изменение состояния кнопок, подсветка активных элементов меню, динамическое добавление визуальных эффектов.
removeClass()Метод removeClass() удаляет один или
несколько классов из выбранных элементов.
// Удаление одного класса
$('.button').removeClass('active');
// Удаление нескольких классов через пробел
$('.button').removeClass('active highlighted');
Особенности:
Используется для снятия активных состояний, скрытия элементов через CSS, удаления анимаций.
toggleClass()Метод toggleClass() сочетает в себе
добавление и удаление класса. Если класс есть — он удаляется, если нет —
добавляется.
// Переключение одного класса
$('.button').toggleClass('active');
// Переключение нескольких классов
$('.button').toggleClass('active highlighted');
Дополнительно метод поддерживает второй параметр force,
который позволяет явно задавать действие:
// Принудительно добавить класс
$('.button').toggleClass('active', true);
// Принудительно удалить класс
$('.button').toggleClass('active', false);
Такой подход удобен для управления состояниями UI без необходимости проверять наличие класса вручную.
hasClass()Метод hasClass() проверяет наличие
указанного класса у первого элемента в коллекции:
if ($('.button').hasClass('active')) {
console.log('Класс active присутствует');
}
Особенности:
true или false.Dom7 позволяет использовать цепочки методов, что повышает читаемость и снижает количество обращений к DOM:
$('.button')
.addClass('active')
.removeClass('highlighted')
.toggleClass('disabled');
Важно учитывать: Dom7 оптимизирован для работы с небольшими коллекциями элементов, поэтому массовое изменение большого количества узлов может потребовать дополнительной оптимизации, например, через документ-фрагменты или скрытие элементов перед манипуляцией.
Для элементов, которые создаются динамически после загрузки страницы, методы управления классами работают точно так же, если к ним обращаться через актуальные селекторы:
const newButton = document.createElement('button');
newButton.className = 'button';
document.body.appendChild(newButton);
$('.button').last().addClass('active');
Это позволяет управлять стилями и состояниями даже для элементов, созданных через JavaScript на лету.
disabled, loading, active.error.Dom7 предоставляет простые и предсказуемые методы для управления классами, объединяя удобство jQuery с минимальным весом библиотеки и высокой производительностью при работе с современным DOM.