jQuery: filter CSS classes

by gabrieleromanato

HTML

<div id="test" class="test evident highlight alert">Test</div>

CSS

.test {
    color: green;
}

.evident {
    font-weight: bold;
}

.highlight {
    background: #ff3;
}

.alert {
    padding: 1em;
    border: thick solid red;
}

JavaScript

(function($) {
    $.fn.excludeClass = function($class) {
        var that = this;
        var element = that[0];
        var cls = element.className;
        var parts = cls.split(' ');

        for (var i = 0; i < parts.length; i++) {

            var part = parts[i];
            if (part != $class) {

                element.className = element.className.replace(part, '');

            }

        }


        return that;



    }
})(jQuery);



$('#test').click(function() {
    $(this).excludeClass('test');
});