首页 文章

一个if语句的javascript多个动作[重复]

提问于
浏览
-1

这个问题在这里已有答案:

我想做的事情可以总结如下:“如果满足这个条件,那么请执行以下多个操作 . ”我的代码可以正常工作,但是当我添加要执行的其他操作时,我收到了“未捕获的SyntaxError:意外的令牌其他”错误 . 我会注意下面的问题 .

function turnonall(cl) {
    var elements = document.getElementsByClassName(cl);
      for (var i = 0; i < elements.length; i++){
        if (elements[i].style.display == 'none' || elements[i].style.display == '' || elements[i].style.display == 'block')
        elements[i].style.display = 'block';
        elements[i].style.className = 'buttonactive';  <--this line is throwing the error.
        else
        elements[i].style.display = 'none';
      }
  }

2 回答

  • 0

    您的 if/else 声明的签名不正确 . 您尝试的只适用于 if 语句中带有一行的 if/else 语句 . 将多行添加到无括号 if/else 后,括号为 required

    只需将if和else块包装在括号中,如下所示:

    function turnonall(cl) {
      var elements = document.getElementsByClassName(cl);
      for (var i = 0; i < elements.length; i++) {
        if (elements[i].style.display == 'none' || elements[i].style.display == '' || elements[i].style.display == 'block') {
          elements[i].style.display = 'block';
          elements[i].style.className = 'buttonactive';
        } else {
          elements[i].style.display = 'none';
        }
      }
    }
    

    但是,你不是100%不正确 . 例如,这是有效的JavaScript:

    if (true)
      console.log('it is true')
    else
      console.log('it is not true')
    

    但事实并非如此

    if (true)
      console.log('it is true')
      console.log('and I like it')
    else
      console.log('it is not true')
    
  • 0
    function turnonall(cl) {
        var elements = document.getElementsByClassName(cl);
          for (var i = 0; i < elements.length; i++){
            if (elements[i].style.display == 'none' || elements[i].style.display == '' || elements[i].style.display == 'block')
            {  // Bracket!
                elements[i].style.display = 'block';
                elements[i].style.className = 'buttonactive';  <--this line is throwing the error.
            }  // Bracket!
            else
                elements[i].style.display = 'none';
          }
      }
    

相关问题