Skip to content

Commit

Permalink
$.fn.removeClass: fixed attribute resetting
Browse files Browse the repository at this point in the history
  • Loading branch information
fabiospampinato committed May 16, 2018
1 parent cff93d0 commit 4e91cfa
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 3 deletions.
3 changes: 2 additions & 1 deletion src/attributes/remove_class.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@

// @require ./attr.js
// @require ./toggle_class.js

fn.removeClass = function ( cls ) {
return this.toggleClass ( cls, false );
return !arguments.length ? this.attr ( 'class', '' ) : this.toggleClass ( cls, false );
};
2 changes: 1 addition & 1 deletion src/attributes/toggle_class.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ fn.toggleClass = function ( cls, force ) {
const classes = getSplitValues ( cls ),
isForce = ( force !== undefined );

if ( !classes.length ) return ( isForce && !force ) ? this.attr ( 'class', '' ) : this;
if ( !classes.length ) return this;

return this.each ( ( i, ele ) => {
each ( classes, c => {
Expand Down
2 changes: 1 addition & 1 deletion test/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ QUnit.test( "removeClass", function( assert ) {
assert.equal( $('.attr-fixture2')[0].className, "attr-fixture2", "removeClass Multiple Passed!" );

$cf.removeClass();
assert.equal( $cf.className, undefined, 'removing all classes passed!' );
assert.equal( $cf[0].className, '', 'removing all classes passed!' );
$cf.addClass('class-fixture');

var hasClass = $('.attr-fixture').addClass('foo$bar').removeClass('foo$bar').hasClass('foo$bar');
Expand Down

0 comments on commit 4e91cfa

Please sign in to comment.