繁体   English   中英

else 语句不起作用

[英]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);

我试图:

  1. if删除setTimeout
  2. 删除“ if ("div[class='resultInfo resultWin']")

这仅使用第一ifelseiftrue ,我不知道该怎么办。

您的 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM