aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/attributes.js2
-rw-r--r--test/unit/attributes.js11
2 files changed, 11 insertions, 2 deletions
diff --git a/src/attributes.js b/src/attributes.js
index d217793cc..3e4c5f216 100644
--- a/src/attributes.js
+++ b/src/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] );
}
}
}
diff --git a/test/unit/attributes.js b/test/unit/attributes.js
index 70ae50dbd..234d58622 100644
--- a/test/unit/attributes.js
+++ b/test/unit/attributes.js
@@ -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() {