Question Suppression de plusieurs classes (jQuery)


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

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

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

Merci


507
2017-09-28 06:10


origine


Réponses:


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

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

Une ou plusieurs classes CSS à supprimer de   les éléments, ceux-ci sont séparés par   les espaces.


944
2017-09-28 06:13



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

Ici sont les docs.


54
2017-09-28 06:12



http://docs.jquery.com/Attributes/removeClass

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


18
2017-09-28 06:13



le Documentation dit:

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

Exemple:

Supprimez les classes 'blue' et 'under' des éléments correspondants.

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

15
2017-09-28 06:14



Il y a plusieurs façons de le faire!

jQuery

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

  2. supprimer multi classe
    $("element").removeClass("class1 ... classn");
    OU
    $("element").removeClass("class1").removeClass("...").removeClass("classn");

Javascript natif

  1. supprimer toutes les classes

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

  1. supprimer multi classe

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


5
2018-06-13 04:04