jQuery检查页面上的任何div是否在if语句中具有特定的类

时间:2013-09-17 21:19:21

标签: jquery if-statement

我正在使用Bootstrap开关https://github.com/nostalgiaz/bootstrap-switch并在表格中有几个开关。

当切换开关时,我检查开关的状态并具有基本的if条件。当data.value为false时,开关已关闭。我尝试运行另一个条件来检查表中的任何开关是否具有switch-on类,如果是,则隐藏高级图表中的系列。这没有按预期工作。我很确定我的选择器没问题div.make-switch > div正在选择第一个嵌套div,它有类switch-onswitch-off

代码有什么问题?每次开关关闭时,我的第二个if条件是否应该触发并检查是否有任何开关接通?

由于

由开启和关闭状态呈现的HTML在下面,

if(data.value == true){
// Switch is on
}
else if (data.value == false){
// Switch is off

    if ($('div.make-switch > div').hasClass('switch-on')){

        series.hide();
    }
}

关闭状态在嵌套div中具有类.switch-off

<div class="make-switch switch-mini has-switch"><div class="switch-off switch-animate"><input name="" id="create-switch" type="checkbox"><span class="switch-left switch-mini">ON</span><label class="switch-mini" for="create-switch">&nbsp;</label><span class="switch-right switch-mini">OFF</span></div></div>

On state在嵌套div中有类.switch-on

<div class="make-switch switch-mini has-switch"><div class="switch-on switch-animate"><input name="" id="create-switch" type="checkbox"><span class="switch-left switch-mini">ON</span><label class="switch-mini" for="create-switch">&nbsp;</label><span class="switch-right switch-mini">OFF</span></div></div>

1 个答案:

答案 0 :(得分:4)

试试这个:

if ($('div.make-switch > div.switch-on').length) {

如果存在与选择器匹配的元素,length属性将返回“truthy”结果。