Javascript jsif/else故障
我有一个简单的代码:Javascript jsif/else故障,javascript,jquery,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'){
<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>
它在FIRSIF阶段工作得很好,正如我在alert中看到的那个样,它改变了按钮的值,但并没有生成else if和else语句 比较运算符错误:if value='next'应为if value=='next'{或if value=='next'{ 注意额外的=符号。您需要== 应该是:
(value == 'next'){
您正在测试“next”{是否始终为真。只有计算结果为假的字符串是空字符串,使用==,而不是=。single=是赋值运算符,这意味着它在赋值后赋值,然后测试值是否为假,而不是值是否等于next您需要双等号,因为在这种情况下singles将返回真:
if (value =="next")
Single=是赋值运算符,double==是比较运算符。由于您使用赋值运算符并将变量设置为非falsy值,因此第一个if语句解析为true。运行JS。据我所知,赋值并不总是计算为true。例如,if=false不会执行if块。@RCE Good call,这里有一个小把戏来说明将变量设置为字符串会更新变量的值并返回true:但是将变量设置为false将返回false。
if (value =="next")