diff options
author | Ariel Flesler <aflesler@gmail.com> | 2008-12-25 20:12:18 +0000 |
---|---|---|
committer | Ariel Flesler <aflesler@gmail.com> | 2008-12-25 20:12:18 +0000 |
commit | 0a8f96ac3d37f637ab433c037d4f807e8ef94bbe (patch) | |
tree | c1e43b5915ca26a83d00819dcbe1cdc259612697 | |
parent | 0e3e470edc77cde0eede8aa6b7642c336d081d66 (diff) | |
download | jquery-0a8f96ac3d37f637ab433c037d4f807e8ef94bbe.tar.gz jquery-0a8f96ac3d37f637ab433c037d4f807e8ef94bbe.zip |
jquery core: Closes #1681. jQuery.fn.toggleClass can accept a boolean argument indicating add/remove.
-rw-r--r-- | src/core.js | 6 | ||||
-rw-r--r-- | test/unit/core.js | 9 |
2 files changed, 12 insertions, 3 deletions
diff --git a/src/core.js b/src/core.js index 0e02436fc..5a098bebd 100644 --- a/src/core.js +++ b/src/core.js @@ -1284,8 +1284,10 @@ jQuery.each({ jQuery.className.remove( this, classNames ); }, - toggleClass: function( classNames ) { - jQuery.className[ jQuery.className.has( this, classNames ) ? "remove" : "add" ]( this, classNames ); + toggleClass: function( classNames, state ) { + if( typeof state !== "boolean" ) + state = !jQuery.className.has( this, classNames ); + jQuery.className[ state ? "add" : "remove" ]( this, classNames ); }, remove: function( selector ) { diff --git a/test/unit/core.js b/test/unit/core.js index 4da992de0..5d2f5f407 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -1493,13 +1493,20 @@ test("removeClass(String) - simple", function() { }); test("toggleClass(String)", function() { - expect(3); + expect(6);
var e = jQuery("#firstp"); ok( !e.is(".test"), "Assert class not present" ); e.toggleClass("test"); ok( e.is(".test"), "Assert class present" ); e.toggleClass("test"); ok( !e.is(".test"), "Assert class not present" ); + + e.toggleClass("test", false);
+ ok( !e.is(".test"), "Assert class not present" );
+ e.toggleClass("test", true);
+ ok( e.is(".test"), "Assert class present" );
+ e.toggleClass("test", false);
+ ok( !e.is(".test"), "Assert class not present" );
}); test("removeAttr(String", function() { |