Javascript Else语句不起作用

Javascript Else语句不起作用,javascript,if-statement,Javascript,If Statement,我不知道为什么我的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

我不知道为什么我的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
  • 删除“
    if”(“div[class='resultInfo resultWin'])”

  • 这只使用第一个
    ,如果
    即使是
    elseif
    也是
    真的
    ,我不知道该怎么办。

    你的代码没有意义

    您没有输入
    else if
    ,因为您的
    if
    将始终计算为
    true

    如果(“div[class='resultInfo resultLose']”
    始终为
    true
    ,因为您没有进行任何比较,所以您在计算字符串。这与执行
    if(true)
    相同


    我猜想您缺少了一些代码,比如JQuery选择或类似的东西。

    您的if条件中有一个非空字符串,每次都计算为true。所以else块永远不会到达。

    您当前的if和else/if条件只是测试一个随机字符串的真实性,它的计算结果总是为true。由于第一个条件的计算结果为true,因此您将始终跳过else if条件(即使在本例中该条件的计算结果也为true)

    实际上,您似乎想要测试的是是否存在与作为选择器字符串的字符串匹配的元素。如果是这种情况,最简单的修复方法是将If和else语句更改为更像jQuery语句,并检查结果的长度

    if ($("div[class='resultInfo resultLose']").length > 0)
    


    如果(“div[class='resultInfo resultLose']”应该做什么?请发布一个函数示例来说明您的问题。请参阅:。您也可以在编辑模式下单击标题中的
    图标添加演示。如果div[class='resultInfo resultLose']存在,则此操作正在等待结果,该操作中有一个新的启动函数。非常感谢,我在其中错过了$。答案非常简单,您太棒了!
    else if ($("div[class='resultInfo resultWin']").length > 0)