![](/img/trans.png)
[英]Why does if else statement not work the same way as else if statement?
[英]Else statement does not work
我不知道为什么我的 else 语句不起作用。
这是我第一次真正发生,我使用console.log()
检查。
这是我的代码:
setTimeout(function() {
var b = 2;
var d = 80000;
if ("div[class='resultInfo resultLose']") {
setTimeout(function() {
var a = ($("input[name='_4']").val().replace(/\s+/g, ''));
var c = a * b;
$("input[name='_4']").val(c);
$("input[value='Play!']").click();
}, 1000);
} else if ("div[class='resultInfo resultWin']") {
setTimeout(function() {
$("input[name='_4']").val(d);
$("input[value='Play!']").click();
}, 1000);
}
}, 4500);
我试图:
if
删除setTimeout
if ("div[class='resultInfo resultWin']")
“ 这仅使用第一if
连elseif
是true
,我不知道该怎么办。
您的 if 条件中有一个非空字符串,每次都评估为真。 所以永远不会到达 else 块。
您当前的 if 和 else/if 条件只是测试随机字符串的真实性,该字符串将始终评估为真。 由于第一个条件的计算结果为真,您将始终跳过 else if 条件(即使在这种情况下也将评估为真)。
您实际上似乎想要测试的是,是否存在与您作为选择器字符串匹配的字符串的元素。 如果是这种情况,最简单的解决方法是将 if 和 else 语句更改为看起来更像 jQuery 语句并检查结果的长度。
if ($("div[class='resultInfo resultLose']").length > 0)
和
else if ($("div[class='resultInfo resultWin']").length > 0)
你的代码没有意义。
您没有输入else if
因为您的if
将始终评估为true
。
if ("div[class='resultInfo resultLose']")
将始终为true
,因为您没有进行任何比较,您正在评估一个字符串。 所以这与执行if (true)
。
我想你在那里遗漏了一些代码,比如 JQuery 选择或类似的东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.