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.

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.



19

.removeClass()Documentation jQuery .

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


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");

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 = '';


2

Classes séparées par blanc space

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

1

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


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"]); 
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.