Suppression de plusieurs classes (jQuery)

615

Existe-t-il une meilleure façon de réécrire ceci:

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

Je ne peux pas utiliser removeClass(); car cela supprimerait TOUTES les classes, ce que je ne veux pas.

eozzy
la source

Réponses:

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

De removeClass(), le paramètre de classe:

Une ou plusieurs classes CSS à supprimer des éléments, celles-ci sont séparées par des espaces.

cletus
la source
66

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

Voici les documents .

Scott Evernden
la source
19

.removeClass()Documentation jQuery .

Une ou plusieurs classes CSS à supprimer des éléments, celles-ci sont séparées par des espaces.

SeanJA
la source
17

La documentation dit:

class (Optional) String
Une ou plusieurs classes CSS à supprimer des éléments, celles-ci sont séparées par des espaces.

Exemple:

Supprimez la classe «bleu» et «sous» des éléments correspondants.

$("p:odd").removeClass("blue under");
décomposer
la source
12

Il y a plusieurs façons de le faire!

jQuery

  1. supprimer toute classe
    $("element").removeClass();
    OU
    $("#item").removeAttr('class');
    OU
    $("#item").attr('class', '');
    OU
    $('#item')[0].className = '';

  2. supprimer plusieurs classes
    $("element").removeClass("class1 ... classn");
    OU
    $("element").removeClass("class1").removeClass("...").removeClass("classn");

Vanilla Javascript

  1. supprimer toute classe

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

  1. supprimer plusieurs classes

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

xgqfrms
la source
2

Classes séparées par blanc space

$('element').removeClass('class1 class2');
codemirror
la source
1

Vous devez séparer les classes que vous souhaitez supprimer par un espace blanc$('selector').removeClass('class1 class2');

Avishek Mondal
la source
0

Depuis jQuery 3.3.0 , il est possible de passer des tableaux à .addClass(),. removeClass()et toggleClass(), ce qui le rend plus facile s'il existe une logique qui détermine quelles classes doivent être ajoutées ou supprimées, car vous n'avez pas besoin de jouer avec les chaînes délimitées par des espaces.

$("div").removeClass(["class1", "class2"]); 
Mark Fisher
la source