Skip to content
Permalink
Browse files

jquery core: Closes #1681. jQuery.fn.toggleClass can accept a boolean…

… argument indicating add/remove.
  • Loading branch information
flesler committed Dec 25, 2008
1 parent 0e3e470 commit 0a8f96ac3d37f637ab433c037d4f807e8ef94bbe
Showing with 12 additions and 3 deletions.
  1. +4 −2 src/core.js
  2. +8 −1 test/unit/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 ) {
@@ -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() {

0 comments on commit 0a8f96a

Please sign in to comment.
You can’t perform that action at this time.