J'ai généralisé cette dans un plugin Jquery qui prend une regex comme un argument.
Café:
$.fn.removeClassRegex = (regex) ->
$(@).removeClass (index, classes) ->
classes.split(/\s+/).filter (c) ->
regex.test c
.join ' '
Javascript:
$.fn.removeClassRegex = function(regex) {
return $(this).removeClass(function(index, classes) {
return classes.split(/\s+/).filter(function(c) {
return regex.test(c);
}).join(' ');
});
};
Donc, pour ce cas, l'utilisation serait (à la fois Café et Javascript):
$('#hello').removeClassRegex(/^color-/)
Note que je suis en utilisant l' Array.filter
fonction qui n'existe pas dans IE<9. Vous pouvez utiliser le trait de Soulignement de la fonction de filtre au lieu de Google pour un polyfill comme ce WTFPL un.