Как удалить все классы элемента, кроме одного, с помощью jQuery
Изучите простые и эффективные способы удаления всех классов у элемента, кроме одного, с использованием библиотеки jQuery. Эти советы помогут вам упростить вашу работу с CSS-классами и сделать код более чистым и управляемым.
Используйте метод removeClass для удаления всех классов у элемента, кроме одного. Пример: $(элемент).removeClass().addClass(оставляемый_класс);
Уроки JavaScript - #17 - Добавление и удаление элементов с помощью DOM
Создайте функцию, которая сохраняет нужный класс, удаляя остальные: function clearClasses(elem, keepClass) { $(elem).attr(class, keepClass); }
Js работа со стилями, className, classList, add, remove, toggle, добавление удаление и переключение
Для более сложных сценариев используйте регулярные выражения для фильтрации классов: $(элемент).attr(class, function(i, c) { return c.replace(/(?!оставляемый_класс)/S+/g, ); });
Уроки jQuery / Методы addClass и removeClass - добавляем и удаляем классы - для начинающих
Используйте метод not для исключения определенного класса из удаления: $(элемент).removeClass(function(index, className) { return className.split( ).filter(c =>c !== оставляемый_класс).join( ); });
How to Add Class, Remove Class \u0026 Toggle Class in jQuery
При работе с динамическими данными используйте комбинацию методов hasClass и removeClass: if ($(элемент).hasClass(оставляемый_класс)) { $(элемент).removeClass().addClass(оставляемый_класс); }
Add and Remove Active Class on Click
Примените метод toggleClass для добавления или удаления классов условно: $(элемент).toggleClass(оставляемый_класс, true); $(элемент).toggleClass(function(index, className) { return className !== оставляемый_класс; }, false);
Если у элемента может быть несколько оставляемых классов, используйте массив для хранения этих классов и фильтрацию: let keepClasses = [class1, class2]; $(элемент).removeClass(function(index, className) { return className.split( ).filter(c =>!keepClasses.includes(c)).join( ); });
Для упрощения удаления используйте плагин jQuery, который управляет классами: $.fn.clearClasses = function(keepClass) { return this.each(function() { $(this).attr(class, keepClass); }); }; $(элемент).clearClasses(оставляемый_класс);
Работа со стилями - className, classList, add, remove, toggle
Примените map для создания списка оставляемых классов перед удалением остальных: let keep = $(элемент).map(function() { return $(this).hasClass(оставляемый_класс) ? оставляемый_класс : ; }).get().join( ); $(элемент).removeClass().addClass(keep);
Добавление и удаление атрибутов на jQuery, attr() и removeAttr(), урок 15
Используйте addClass после удаления всех классов для повторного добавления нужного: $(элемент).removeClass().addClass(оставляемый_класс);
Добавление и удаление классов на jQuery, addClass() и removeClass(), урок 16