Ich habe dies in ein Jquery-Plugin, das eine Regex als Argument nimmt verallgemeinert.
Kaffee:
$.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(' ');
});
};
In diesem Fall wäre die Verwendung also (sowohl Kaffee als auch Javascript):
$('#hello').removeClassRegex(/^color-/)
Beachten Sie, dass ich die Array.filter
Funktion, die im IE<9 nicht existiert. Sie könnten verwenden Die Filterfunktion von Underscore stattdessen oder Google für ein Polyfill wie diese WTFPL eins .