Jquery:Light Switch = on,然后有一个If语句查看灯开关是否打开,为什么这不起作用?

时间:2011-01-29 09:21:07

标签: jquery variables if-statement

为什么这段代码不起作用? 如何使灯开关= ON或OFF,然后再测试它是ON还是OFF?我可以在不处理更改类或ID的情况下执行此操作吗?

$(document).ready(function(){
    $('p').click(function(){
         var lightswitch = ON;

         if (lightswitch == ON) {
            alert('LIGHTSWITCH IS ON.')
                } else {
                alert('OFF.')
                }

          })
})

1 个答案:

答案 0 :(得分:5)

可能没有名为ON的变量。您可以使用布尔值:

$(document).ready(function() {
    $('p').click(function() {
        var lightswitch = true;
        if (lightswitch) {
            alert('LIGHTSWITCH IS ON.')
        } else {
            alert('OFF.')
        }
    });
});

或字符串值:

$(document).ready(function() {
    $('p').click(function() {
        var lightswitch = 'ON';
        if (lightswitch == 'ON') {
            alert('LIGHTSWITCH IS ON.')
        } else {
            alert('OFF.')
        }
    });
});

显然,将局部变量设置为硬编码值,然后立即使用if语句测试该值并不是很有用。您可以使用将设置为不同值的全局变量:

var lightswitch = true;
$(document).ready(function() {
    $('p').click(function() {
        if (lightswitch) {
            alert('LIGHTSWITCH IS ON.')
        } else {
            alert('OFF.')
        }
    });
});

然后您可以在代码的其他部分设置lightswitch = false;