JS if / else有问题

时间:2011-12-08 20:27:21

标签: javascript jquery

我有一个简单的代码:

<script type="text/javascript">
    jQuery(document).ready(function() {
        jQuery("#continue").click(function() {
        var value = jQuery('#continue').attr('value')
            alert (value);
            if (value='next'){
                jQuery('#msg_title').html('blablabla');
                jQuery('#msg').html('blablabla'');
                jQuery('#continue').attr('value','removeConfig');
                value = jQuery('#continue').attr('value');
            }
            else if (value='removeConfig') {
                jQuery('#msg_title').html('It Works!');             
            }
            else {
                alert ('Something wrong')
            }
        return false;
        });
});

</script>

它适用于第一个if阶段,更改按钮的值(我从警报中看到),但不会生成else ifelse语句。

4 个答案:

答案 0 :(得分:9)

您的比较运算符错误:if (value='next')应为if (value == 'next'){if (value === 'next'){

请注意额外的=标志。

答案 1 :(得分:2)

您需要==

(value='next'){

应该是:

(value == 'next'){

您正在测试if ('next') {,这始终是真的。只有将计算结果为false的字符串为空字符串""

答案 2 :(得分:2)

使用==,而不是=。单个=是一个赋值运算符,这意味着它将"next"分配给value,然后测试valuefalse,而不是value等于next

答案 3 :(得分:2)

你需要双等号,因为在这种情况下单打会返回true:

if (value =="next")

=是赋值运算符,双==是比较运算符。由于您使用赋值运算符并将变量设置为非伪值,因此第一个if语句已解析为true。