Skip to content
Permalink
Browse files
Make sure that no extra whitespace is leftover after an addClass. Fix…
…es #6050.
  • Loading branch information
jeresig committed Feb 13, 2010
1 parent 94d925c commit 83a044f1b5a733dc7ea76dbc9b7dd3a3dc4b7f25
Showing with 11 additions and 2 deletions.
  1. +1 −1 src/attributes.js
  2. +10 −1 test/unit/attributes.js
@@ -43,7 +43,7 @@ jQuery.fn.extend({
var className = " " + elem.className + " ";
for ( var c = 0, cl = classNames.length; c < cl; c++ ) {
if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) {
elem.className += " " + classNames[c];
elem.className = jQuery.trim( elem.className + " " + classNames[c] );
}
}
}
@@ -435,7 +435,7 @@ test("val(Function) with incoming value", function() {
});

var testAddClass = function(valueObj) {
expect(2);
expect(4);
var div = jQuery("div");
div.addClass( valueObj("test") );
var pass = true;
@@ -448,6 +448,15 @@ var testAddClass = function(valueObj) {
var j = jQuery("#nonnodes").contents();
j.addClass( valueObj("asdf") );
ok( j.hasClass("asdf"), "Check node,textnode,comment for addClass" );

div = jQuery("<div/>");

div.addClass( valueObj("test") );
equals( div.attr("class"), "test", "Make sure there's no extra whitespace." );

div.attr("class", " foo");
div.addClass( valueObj("test") );
equals( div.attr("class"), "foo test", "Make sure there's no extra whitespace." );
};

test("addClass(String)", function() {

3 comments on commit 83a044f

@leeoniya

This comment has been minimized.

Copy link

@leeoniya leeoniya replied Feb 13, 2010

wouldn't it make sense to run trim just once after the entire for loop rather than each time?

@leeoniya

This comment has been minimized.

Copy link

@leeoniya leeoniya replied Feb 13, 2010

...same with removeClass?

@jeresig

This comment has been minimized.

Copy link
Member Author

@jeresig jeresig replied Feb 13, 2010

removeClass already does it after it's all done. Fixed addClass though, thanks for the heads-up: 437ddb9.

Please sign in to comment.