1

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

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

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

谢谢

下面是由 on 和 off 状态呈现的 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();
    }
}

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

<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.switch-on在嵌套 div 中有类

<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>
4

1 回答 1

4

尝试这个:

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

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

于 2013-09-17T21:21:22.193 回答