我有一个简单的代码:
<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 if
和else
语句。
答案 0 :(得分:9)
您的比较运算符错误:if (value='next')
应为if (value == 'next'){
或if (value === 'next'){
。
请注意额外的=
标志。
答案 1 :(得分:2)
您需要==
(value='next'){
应该是:
(value == 'next'){
您正在测试if ('next') {
,这始终是真的。只有将计算结果为false的字符串为空字符串""
答案 2 :(得分:2)
使用==
,而不是=
。单个=
是一个赋值运算符,这意味着它将"next"
分配给value
,然后测试value
是false
,而不是value
等于next
答案 3 :(得分:2)
你需要双等号,因为在这种情况下单打会返回true:
if (value =="next")
单=
是赋值运算符,双==
是比较运算符。由于您使用赋值运算符并将变量设置为非伪值,因此第一个if
语句已解析为true。