2015-04-17 5 views
2

Я пытаюсь переключить, будут ли отображаться вкладки в зависимости от того, имеет ли элемент согласованного списка класс активных. Я пробовал несколько разных подходов с операторами if и .hasClass, но не могу заставить его вести себя так, как я желаю! Любая помощь будет принята с благодарностью.jQuery, если элемент имеет класс, что-то делать

Это пример одного из моих попыток:

$("#indexHero").onClick(function(){ 
    $("#tabNo1.active"){ 
    $("#testID1, #testID2").addClass("hideMe"); 
    $("#testID3").removeClass("hideMe"); 
    } 
}); 
+1

* "' $ ("#indexHero") .onClick (... '" * Что это? Это не jQuery .... jQuery будет '.click (...' или '.on (" click ", ...' (или в дни, прошедшие мимо, '.bind (" click ", ...'). –

+1

У вас есть '.hasClass()' для этих целей, он вернет логическое значение. Кстати, я бы заменил '.onClick (function() {});' на '.on ('click', function() {}); ' – kosmos

ответ

3

Проверьте с length собственности или же использовать .hasClass() в JQuery

$("#indexHero").click(function(){ 
if($("#tabNo1.active").length > 0){ 
    $("#testID1, #testID2").addClass("hideMe"); 
    $("#testID3").removeClass("hideMe"); 
} 
}); 

или

if($("#tabNo1").hasClass("active")){ 

} 
3

использования hasClass()

$("#indexHero").click(function(){ 
     if ($('#tabNo1').hasClass('active')) { 
     $("#testID1, #testID2").addClass("hideMe"); 
     //} else { 
     $("#testID3").removeClass("hideMe"); 
     } 
     }): 
1

Попробуйте это:

$("#indexHero").click(function(){ 
    if($("#tabNo1").hasClass("active")) 
    { 
     $("#testID1, #testID2").addClass("hideMe"); 
     $("#testID3").removeClass("hideMe"); 
    } 
}); 
Смежные вопросы