aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/jqLite.js2
-rw-r--r--test/jqLiteSpec.js11
2 files changed, 12 insertions, 1 deletions
diff --git a/src/jqLite.js b/src/jqLite.js
index f8cd9a1f..13ba5fd6 100644
--- a/src/jqLite.js
+++ b/src/jqLite.js
@@ -159,7 +159,7 @@ function JQLiteRemoveClass(element, selector) {
element.className = trim(
(" " + element.className + " ")
.replace(/[\n\t]/g, " ")
- .replace(" " + selector + " ", "")
+ .replace(" " + selector + " ", " ")
);
}
diff --git a/test/jqLiteSpec.js b/test/jqLiteSpec.js
index 00760a60..c06fcae4 100644
--- a/test/jqLiteSpec.js
+++ b/test/jqLiteSpec.js
@@ -222,6 +222,17 @@ describe('jqLite', function(){
expect(jqLite(a).hasClass('abc')).toEqual(false);
expect(jqLite(b).hasClass('abc')).toEqual(false);
});
+
+ it('should correctly remove middle class', function() {
+ var element = jqLite('<div class="foo bar baz"></div>');
+ expect(element.hasClass('bar')).toBe(true);
+
+ element.removeClass('bar');
+
+ expect(element.hasClass('foo')).toBe(true);
+ expect(element.hasClass('bar')).toBe(false);
+ expect(element.hasClass('baz')).toBe(true);
+ });
});
});