2015-01-19 2 views
1

Как использовать оператор if в jQuery, чтобы проверить, имеет ли div класс «in»?Как правильно проверить, имеет ли класс класс, чтобы что-то сделать

Мой код:

$("#short-top-nav-right a").click(function() { 
    $(".collapse").one("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function() { 
     if ($("div.collapse-site").hasClass("in")) { 
      console.log("yes"); 
     } else { 
      console.log("no"); 
     } 

    }); 
}); 

ответ

0

Вы можете сделать что-то вроде этого

$('div').each(function(){ 
    if ($(this).hasClass('in')){ 
     console.log("yes"); 
    }else{ 
     console.log("no"); 
    } 
}); 
0

Я предложил бы использовать JQuery-х each().

$('div.collapse-site').each(function(index, element) { 
    console.log('element at index ' + index + 'is ' + (this.tagName); 

    console.log('hasClass? ' + $(this).hasClass('in')); 
}); 
0

Попробуйте:

$("#short-top-nav-right a").click(function(){ 
    $(".collapse div.collapse-site").each(function(index,value){ 
    if ($(this).hasClass("in")) { 
     console.log("yes"); 
    } else { 
     console.log("no"); 
    } 

    }); 
    }); 
0

Если вы хотите знать, если любойdiv.collapse-site также имеет класс in, просто:

if ($("div.collapse-site.in").length) { 
    // Yes, at least one does 
} else { 
    // No, none do 
} 

... без какого-либо цикла.

Если вы хотите знать, для каждый из div.collapse-site, имеет ли in, то each:

$("div.collapse-site").each(function() { 
    if ($(this).hasClass("in")) { 
     // Yes, this specific one does 
    } else { 
     // No, this specific one doesn't 
    } 
}); 
Смежные вопросы