JQuery - 如何确定特定类是否已被切换?

时间:2015-05-29 19:44:14

标签: javascript jquery

<div class="tab1"><div>

<div class="tab1 active"></div>

鉴于上面的代码,我如何告诉使用jQuery tab1类已被更改或“激活”

我认为有一个更好的解决方案是在tab1 div中添加一个id并检查该类是否具有“活动”功能。附在上面。

[下面的伪代码]

$('#tab1').click(function() {
   var myClass = $(this).attr("class");
   if(myClass.stringAt(6-12) == active){
       // do something
   }
});

2 个答案:

答案 0 :(得分:5)

您可以使用hasClass()来检查它是否包含class active。另请注意,在您的代码中tab1是一个类,而不是ID,因此它应该是

$('.tab1').click(function() {//Note that tab1 is a class in your code
  if($(this).hasClass('active')){// Check if the div has the class active or not
   //Do your operation
  })
})

答案 1 :(得分:1)

我认为你只需要使用:visible和:隐藏通过is函数,可以在下面看到,请注意我把它写成单元测试,这样你就可以自己测试不同场景并从中学习。希望它有所帮助!

HTML

<div class="tab1"></div>

<div class="tab1 active"></div>

jQuery 2.1.3

jQuery(document).ready(function(){                       
    if(jQuery(".tab1").is(":visible")){
        alert("tab1 is visible");
    }
    else{
        alert("nothing is :visible");
    }
    if(jQuery(".tab1.active").is(":visible")){
        alert("tab1 active is visible");
    }
    else{
        alert("nothing is :visible");
    }
});

在这里查看“视觉”示例:jsFiddle

jQuery参考:Determining the state of a toggled element