Created
June 6, 2012 12:31
-
-
Save jakubp/2881585 to your computer and use it in GitHub Desktop.
jQuery plugin to remove classes with given prefix
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Remove classes that have given prefix | |
// Example: | |
// You have an element with classes "apple juiceSmall juiceBig banana" | |
// You run: | |
// $elem.removeClassPrefix('juice'); | |
// The resulting classes are "apple banana" | |
// NOTE: discussion of implementation techniques for this, including why simple RegExp with word boundaries isn't correct: | |
// http://stackoverflow.com/questions/57812/jquery-remove-all-classes-that-begin-with-a-certain-string#comment14232343_58533 | |
(function ( $ ) { | |
$.fn.removeClassPrefix = function (prefix) { | |
this.each( function ( i, it ) { | |
var classes = it.className.split(" ").map(function (item) { | |
return item.indexOf(prefix) === 0 ? "" : item; | |
}); | |
it.className = classes.join(" "); | |
}); | |
return this; | |
} | |
})( jQuery ); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I am almost sure, that problem with IE occured because of "each" function, earlier versions of IE doesn't support it. The workaround is to use normalized jQuery$.each instead. Like $ .each(this,function(i, it){})