В Zepto.js работа с классами элементов реализована через компактный и эффективный набор методов, аналогичный jQuery, но с более лёгкой структурой. Основные операции включают добавление, удаление, проверку и переключение классов на выбранных элементах.
.addClass()Метод .addClass() используется для добавления одного или
нескольких классов к элементу. Его синтаксис прост:
$('.element').addClass('active');
$('.element').addClass('class1 class2');
Особенности:
$('.element').addClass(function(index, currentClass) {
return currentClass + '-modified-' + index;
});
.removeClass()Метод .removeClass() удаляет указанные классы с
выбранных элементов:
$('.element').removeClass('active');
$('.element').removeClass('class1 class2');
Можно использовать функцию обратного вызова для динамического удаления классов:
$('.element').removeClass(function(index, currentClass) {
return 'class-to-remove-' + index;
});
Если метод вызывается без аргументов, все классы элемента будут удалены:
$('.element').removeClass();
.hasClass()Метод .hasClass() позволяет проверить, присутствует ли
определённый класс у хотя бы одного из выбранных элементов:
if ($('.element').hasClass('active')) {
console.log('Элемент содержит класс active');
}
Особенности:
true или false..toggleClass()Метод .toggleClass() комбинирует функциональность
добавления и удаления классов:
$('.element').toggleClass('active');
Параметры:
$('.element').toggleClass('active', true); // гарантированно добавит
$('.element').toggleClass('active', false); // гарантированно удалит
$('.element').toggleClass(function(index, currentClass) {
return currentClass.includes('active') ? 'inactive' : 'active';
});
Zepto поддерживает работу с несколькими классами одновременно и позволяет комбинировать методы в цепочки:
$('.element')
.addClass('visible')
.removeClass('hidden')
.toggleClass('highlighted');
Цепочка методов позволяет управлять состоянием элементов компактно и читаемо.
Методы .addClass(), .removeClass() и
.toggleClass() можно применять в циклах или при обработке
событий, что делает их эффективными для динамически изменяющегося
DOM:
$('.item').each(function(index, el) {
$(el).addClass('item-' + index);
});
Также часто используется совместно с событиями:
$('.button').on('click', function() {
$(this).toggleClass('active');
});
classList для современных
браузеров и резервные методы для старых.Хотя синтаксис Zepto и jQuery во многом совпадает, Zepto:
.toggleClass() с событиями..hasClass() позволяет оптимизировать обработку
событий, избегая ненужных изменений DOM.Эти методы создают основу для эффективного управления стилями через классы в Zepto.js, обеспечивая компактный и гибкий подход к динамическому изменению внешнего вида элементов.