mirror of
https://github.com/jquery/jquery.git
synced 2025-01-10 18:24:24 +00:00
Attributes: Use simpler boolean check vs a function call
Ref gh-2491
This commit is contained in:
parent
53f798cf4d
commit
4bf1a09522
@ -100,10 +100,7 @@ jQuery.fn.extend( {
|
||||
|
||||
toggleClass: function( value, stateVal ) {
|
||||
var type = typeof value,
|
||||
classNames = type === "string" ? value.match( rnotwhite ) : "",
|
||||
checker = typeof stateVal === "boolean" ?
|
||||
function() { return !stateVal; } :
|
||||
jQuery.fn.hasClass;
|
||||
classNames = type === "string" ? value.match( rnotwhite ) : [];
|
||||
|
||||
return this.each( function( i ) {
|
||||
var className,
|
||||
@ -118,7 +115,7 @@ jQuery.fn.extend( {
|
||||
// Toggle individual class names based on presence or stateVal
|
||||
while ( ( className = classNames[ c++ ] ) ) {
|
||||
|
||||
if ( checker.call( self, className ) ) {
|
||||
if ( stateVal === false || stateVal !== true && self.hasClass( className ) ) {
|
||||
self.removeClass( className );
|
||||
} else {
|
||||
self.addClass( className );
|
||||
|
@ -1221,7 +1221,7 @@ QUnit.test( "removeClass(undefined) is a no-op", function( assert ) {
|
||||
} );
|
||||
|
||||
var testToggleClass = function( valueObj, assert ) {
|
||||
assert.expect( 9 );
|
||||
assert.expect( 11 );
|
||||
|
||||
var e = jQuery( "#firstp" );
|
||||
assert.ok( !e.is( ".test" ), "Assert class not present" );
|
||||
@ -1233,8 +1233,12 @@ var testToggleClass = function( valueObj, assert ) {
|
||||
// class name with a boolean
|
||||
e.toggleClass( valueObj( "test" ), false );
|
||||
assert.ok( !e.is( ".test" ), "Assert class not present" );
|
||||
e.toggleClass( valueObj( "test" ), false );
|
||||
assert.ok( !e.is( ".test" ), "Assert class still not present" );
|
||||
e.toggleClass( valueObj( "test" ), true );
|
||||
assert.ok( e.is( ".test" ), "Assert class present" );
|
||||
e.toggleClass( valueObj( "test" ), true );
|
||||
assert.ok( e.is( ".test" ), "Assert class still present" );
|
||||
e.toggleClass( valueObj( "test" ), false );
|
||||
assert.ok( !e.is( ".test" ), "Assert class not present" );
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user