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.
$("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.
.removeClass()
Documentation jQuery .
Une ou plusieurs classes CSS à supprimer des éléments, celles-ci sont séparées par des espaces.
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");
Il y a plusieurs façons de le faire!
jQuery
supprimer toute classe
$("element").removeClass();
OU
$("#item").removeAttr('class');
OU
$("#item").attr('class', '');
OU
$('#item')[0].className = '';
supprimer plusieurs classes
$("element").removeClass("class1 ... classn");
OU
$("element").removeClass("class1").removeClass("...").removeClass("classn");
// remove all items all class
const items = document.querySelectorAll('item');
for (let i = 0; i < items.length; i++) {
items[i].className = '';
}
// only remove all class of first item
const item1 = document.querySelector('item');
item1.className = '';
Vous devez séparer les classes que vous souhaitez supprimer par un espace blanc$('selector').removeClass('class1 class2');
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"]);