Skip to content

Instantly share code, notes, and snippets.

@spyesx
Last active September 16, 2015 20:08
Show Gist options
  • Save spyesx/42f11c2f67acb034f711 to your computer and use it in GitHub Desktop.
Save spyesx/42f11c2f67acb034f711 to your computer and use it in GitHub Desktop.
jQuery.removeClassRegEx() remove classes by using a Regex
(function($)
{
$.fn.removeClassRegEx = function(regex)
{
return this.each(function()
{
var classes = $(this).attr('class');
if( !classes || !regex){ return false; }
var classArray = [];
classes = classes.split(' ');
for(var i=0, len=classes.length; i<len; i++)
{
if(!classes[i].match(regex))
{
classArray.push(classes[i]);
}
}
$(this).attr('class', classArray.join(' '));
});
};
})(jQuery);
/*
<span id="remClassRegEx" class="Test Testing someTest aaTestaa leaveme"></span>
$("#remClassRegEx").removeClassRegEx(); // Test Testing someTest aaTestaa leaveme
$("#remClassRegEx").removeClassRegEx(''); // Test Testing someTest aaTestaa leaveme
$("#remClassRegEx").removeClassRegEx('Test'); // leaveme
$("#remClassRegEx").removeClassRegEx(/ /); // Test Testing someTest aaTestaa leaveme
$("#remClassRegEx").removeClassRegEx(/Test/); // leaveme
$("#remClassRegEx").removeClassRegEx(/^Test/); // someTest aaTestaa leaveme
$("#remClassRegEx").removeClassRegEx(/Test$/); // Testing aaTestaa leaveme
$("#remClassRegEx").removeClassRegEx(/^Test$/); // Testing someTest aaTestaa leaveme
$("#remClassRegEx").removeClassRegEx(/test/); // Test Testing someTest aaTestaa leaveme
$("#remClassRegEx").removeClassRegEx(/test/i); // leaveme
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment