Browse files

No need to run trim on every class iteration in addClass, thanks for …

…the heads-up Leeoniya.
  • Loading branch information...
1 parent 053af95 commit 437ddb931df29c0b46ffb893165e15f159963085 @jeresig jeresig committed Feb 13, 2010
Showing with 8 additions and 3 deletions.
  1. +3 −2 src/attributes.js
  2. +5 −1 test/unit/attributes.js
View
5 src/attributes.js
@@ -40,12 +40,13 @@ jQuery.fn.extend({
elem.className = value;
} else {
- var className = " " + elem.className + " ";
+ var className = " " + elem.className + " ", setClass = elem.className;
for ( var c = 0, cl = classNames.length; c < cl; c++ ) {
if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) {
- elem.className = jQuery.trim( elem.className + " " + classNames[c] );
+ setClass += " " + classNames[c];
}
}
+ elem.className = jQuery.trim( setClass );
}
}
}
View
6 test/unit/attributes.js
@@ -438,7 +438,7 @@ test("val(Function) with incoming value", function() {
});
var testAddClass = function(valueObj) {
- expect(4);
+ expect(5);
var div = jQuery("div");
div.addClass( valueObj("test") );
var pass = true;
@@ -460,6 +460,10 @@ var testAddClass = function(valueObj) {
div.attr("class", " foo");
div.addClass( valueObj("test") );
equals( div.attr("class"), "foo test", "Make sure there's no extra whitespace." );
+
+ div.attr("class", "foo");
+ div.addClass( valueObj("bar baz") );
+ equals( div.attr("class"), "foo bar baz", "Make sure there isn't too much trimming." );
};
test("addClass(String)", function() {

0 comments on commit 437ddb9

Please sign in to comment.