Is there any easy way to remove all classes matching, for example,
color-*
so if I have an element:
<div id="hello" class="color-red color-brown foo bar"></div>
after removing, it would be
<div id="hello" class="foo bar"></div>
Thanks!
The removeClass function takes a function argument since jQuery 1.4.
$("#hello").removeClass (function (index, className) {
return (className.match (/(^|\s)color-\S+/g) || []).join(' ');
});
Live example: http://jsfiddle.net/xa9xS/1409/
$('div').attr('class', function(i, c){
return c.replace(/(^|\s)color-\S+/g, '');
});
I've written a plugin that does this called alterClass – Remove element classes with wildcard matching. Optionally add classes: https://gist.github.com/1517285
$( '#foo' ).alterClass( 'foo-* bar-*', 'foobar' )
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With