Maison >interface Web >tutoriel CSS >Comment supprimer des classes avec un préfixe spécifique en JavaScript ?
Vous avez un élément div avec un ID "a" avec plusieurs classes attachées à il, regroupés par préfixes spécifiques. Vous souhaitez supprimer toutes les classes d'un certain groupe sans connaître les noms de classe spécifiques. Par exemple, votre objectif est d'éliminer toutes les classes de préfixes « bg ».
Approche Regex :
var prefix = "bg"; var classes = $("#a").attr("class").split(" ").filter(function(c) { return !(c.match("^" + prefix + "\b")); }); $("#a").attr("class", classes.join(" "));
Approche en boucle :
var prefix = "bg"; var classes = $("#a").attr("class").split(" "); for (var i = 0; i < classes.length; i++) { if (classes[i].startsWith(prefix)) { classes.splice(i, 1); i--; } } $("#a").attr("class", classes.join(" "));
Plugin jQuery (ES5):
$.fn.removeClassPrefix = function(prefix) { return this.each(function() { var classes = $(this).attr("class").split(" ").filter(function(c) { return !c.startsWith(prefix); }); $(this).attr("class", classes.join(" ")); }); }; $("#a").removeClassPrefix("bg");
Alternative ES6 (syntaxe plus propre):
const prefix = "bg"; const classes = $("#a").attr("class").split(" ").filter(c => !c.startsWith(prefix)); $("#a").attr("class", classes.join(" "));
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!