Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Check if clicked element doesn't have a specific class

Tags:

jquery

I'm trying to create an if statement that runs the code if the clicked li element doesn't have a class of photo.

$('div.menu li').click(function(){
    var content = $(this).attr('class');
    if (/* I can't figure out the correct syntax that goes here? */){
        $("div.content_wrapper, div.content").hide();
        $('div.content_wrapper').animate({width: 'toggle'});
        $('div.content_wrapper, div.' + content).show();
        $('div.menu li').removeClass('menuactive');
        $(this).addClass('menuactive');
    }
});
like image 593
farrkling Avatar asked Jul 01 '12 01:07

farrkling


2 Answers

if(!$(this).hasClass('className')) {
    // clicked element does not have the class
}
like image 71
Andrew Keller Avatar answered Oct 26 '22 12:10

Andrew Keller


Just use jQuery's .is:

if(!$(this).is('.some-class')) { // ...

Or, if you so prefer, .hasClass:

if(!$(this).hasClass('some-class')) { // ...
like image 20
Ry- Avatar answered Oct 26 '22 10:10

Ry-