Les classList
permet de s'assurer que des classes en double ne sont pas ajoutées inutilement à l'élément. Afin de conserver cette fonctionnalité, si vous n'aimez pas les versions longues ou la version jQuery, je vous suggère d'ajouter une propriété addMany
et removeMany
a DOMTokenList
(le type de classList
) :
DOMTokenList.prototype.addMany = function(classes) {
var array = classes.split(' ');
for (var i = 0, length = array.length; i < length; i++) {
this.add(array[i]);
}
}
DOMTokenList.prototype.removeMany = function(classes) {
var array = classes.split(' ');
for (var i = 0, length = array.length; i < length; i++) {
this.remove(array[i]);
}
}
Ceux-ci seraient alors utilisables de la manière suivante :
elem.classList.addMany("first second third");
elem.classList.removeMany("first third");
Mise à jour
Conformément à vos commentaires, si vous souhaitez uniquement écrire une méthode personnalisée pour ces éléments au cas où ils ne seraient pas définis, essayez ce qui suit :
DOMTokenList.prototype.addMany = DOMTokenList.prototype.addMany || function(classes) {...}
DOMTokenList.prototype.removeMany = DOMTokenList.prototype.removeMany || function(classes) {...}