Daft Daft - 6 months ago 29
jQuery Question

removeClass() if it exists

This function adds a

rotated
class to my button when I click it. The button has an arrow on it which points in the direction the panel has slid.

How could I remove the rotated class when I click the button again?

$("#btnDiv").click(function (){
$('#slidePanel').toggle( "slide",{direction: 'right'});
$('#btnDiv').addClass('rotated');
});


Something like this maybe?

if('rotated'){
removeClass('rotated')
}else{
addClass('rotated')
}

Answer

You can use .toggleClass()

$('#btnDiv').toggleClass('rotated');

That adds it if it's missing, and removes it if it's present. There's also .is() to check for things like that:

if ($('#btnDiv').is('.rotated'))

or more simply:

if ($('#btnDiv').hasClass('rotated'))
Comments