Видалення декількох класів (jQuery)


615

Чи є кращий спосіб переписати це:

$('element').removeClass('class1').removeClass('class2');

Я не можу використовувати, removeClass();як це видалить ВСІ класи, яких я не хочу.

Відповіді:


1128
$("element").removeClass("class1 class2");

З removeClass(), параметр класу:

Один або декілька класів CSS для видалення з елементів, вони розділені пробілами.



19

jQuery .removeClass()документація.

Один або декілька класів CSS для видалення з елементів, вони розділені пробілами.


17

Документація каже:

class (Optional) String
Один або декілька класів CSS для видалення з елементів, вони розділені пробілами.

Приклад:

Вилучіть клас "синій" та "під" з відповідних елементів.

$("p:odd").removeClass("blue under");

12

Є багато способів зробити це!

jQuery

  1. видалити весь клас
    $("element").removeClass();
    АБО
    $("#item").removeAttr('class');
    АБО
    $("#item").attr('class', '');
    АБО ІЛИ
    $('#item')[0].className = '';

  2. видалити багатокласний
    $("element").removeClass("class1 ... classn");
    АБО
    $("element").removeClass("class1").removeClass("...").removeClass("classn");

Ванільний Javascript

  1. видалити весь клас

// remove all items all class  
const items = document.querySelectorAll('item');
for (let i = 0; i < items.length; i++) {
    items[i].className = '';
}

  1. видалити мультиклас

// only remove all class of first item
const item1 = document.querySelector('item');
item1.className = '';



1

Ви повинні бути окремими класами, які ви хочете видалити пробілом$('selector').removeClass('class1 class2');


0

Так як JQuery 3.3.0 , можна передати масиви .addClass(),. removeClass()і toggleClass(), що полегшує ситуацію, якщо є якась логіка, яка визначає, які класи потрібно додавати або видаляти, оскільки вам не потрібно возитися з рядками з обмеженим пробілом.

$("div").removeClass(["class1", "class2"]); 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.