繁体   English   中英

此 JavaScript 代码不起作用。 我的语法错误还是其他原因?

[英]This JavaScript code is not working. Have I got the syntax wrong or is it something else?

这段代码没有像我希望的那样工作,但我不确定是什么问题。


代码:

<body>
  var randNumForQuote = Math.floor((Math.random() * 11));

  if (randNumForQuote == 0) {
    document.getElementById("quoteDiv").innerHTML = "Hello";
  } else if (randNumForQuote == 1) {
    document.getElementById("quoteDiv").innerHTML = "Hello1";
  } else if (randNumForQuote == 2) {
    document.getElementById("quoteDiv").innerHTML = "Hello2";
  } else if (randNumForQuote == 3) {
    document.getElementById("quoteDiv").innerHTML = "Hello3";
  } else if (randNumForQuote == 4) {
    document.getElementById("quoteDiv").innerHTML = "Hello4";
  } else if (randNumForQuote == 5) {
    document.getElementById("quoteDiv").innerHTML = "Hello5";
  } else if (randNumForQuote == 6) {
    document.getElementById("quoteDiv").innerHTML = "Hello6";
  } else if (randNumForQuote == 7) {
    document.getElementById("quoteDiv").innerHTML = "Hello7";
  } else if (randNumForQuote == 8) {
    document.getElementById("quoteDiv").innerHTML = "Hello8";
  } else if (randNumForQuote == 9) {
    document.getElementById("quoteDiv").innerHTML = "Hello9";
  } else if (randNumForQuote == 10) {
    document.getElementById("quoteDiv").innerHTML = "Hello10";
  }

  <div id="quoteDiv"></div>
</body>


我对 JavaScript 的经验有限,所以不太了解这个问题。

我期待 div 说出输出之一(例如, Hello, Hello1, Hello2, etc.

您需要将 JavaScript 代码放在script标签中,并在页面加载后运行代码,因此放在window.onload回调中,该回调在文档加载过程结束时触发。

 <body> <script> window.onload = function() { var randNumForQuote = Math.floor((Math.random() * 11)); if (randNumForQuote == 0) { document.getElementById("quoteDiv").innerHTML = "Hello"; } else if (randNumForQuote == 1) { document.getElementById("quoteDiv").innerHTML = "Hello1"; } else if (randNumForQuote == 2) { document.getElementById("quoteDiv").innerHTML = "Hello2"; } else if (randNumForQuote == 3) { document.getElementById("quoteDiv").innerHTML = "Hello3"; } else if (randNumForQuote == 4) { document.getElementById("quoteDiv").innerHTML = "Hello4"; } else if (randNumForQuote == 5) { document.getElementById("quoteDiv").innerHTML = "Hello5"; } else if (randNumForQuote == 6) { document.getElementById("quoteDiv").innerHTML = "Hello6"; } else if (randNumForQuote == 7) { document.getElementById("quoteDiv").innerHTML = "Hello7"; } else if (randNumForQuote == 8) { document.getElementById("quoteDiv").innerHTML = "Hello8"; } else if (randNumForQuote == 9) { document.getElementById("quoteDiv").innerHTML = "Hello9"; } else if (randNumForQuote == 10) { document.getElementById("quoteDiv").innerHTML = "Hello10"; } } </script> <div id="quoteDiv"></div> </body>


虽然你可以减少代码

 <body> <script> window.onload = function() { var randNumForQuote = Math.floor((Math.random() * 11)); document.getElementById("quoteDiv").innerHTML = "Hello" + (randNumForQuote ? " " + randNumForQuote : ''); } </script> <div id="quoteDiv"></div> </body>

Javascript 需要在脚本标签中,如果它在 html 中,并且你需要让 div 出现在脚本标签之前。

 <body> <div id="quoteDiv"></div> <script> var randNumForQuote = Math.floor((Math.random() * 11)); if (randNumForQuote == 0) { document.getElementById("quoteDiv").innerHTML = "Hello"; } else if (randNumForQuote == 1) { document.getElementById("quoteDiv").innerHTML = "Hello1"; } else if (randNumForQuote == 2) { document.getElementById("quoteDiv").innerHTML = "Hello2"; } else if (randNumForQuote == 3) { document.getElementById("quoteDiv").innerHTML = "Hello3"; } else if (randNumForQuote == 4) { document.getElementById("quoteDiv").innerHTML = "Hello4"; } else if (randNumForQuote == 5) { document.getElementById("quoteDiv").innerHTML = "Hello5"; } else if (randNumForQuote == 6) { document.getElementById("quoteDiv").innerHTML = "Hello6"; } else if (randNumForQuote == 7) { document.getElementById("quoteDiv").innerHTML = "Hello7"; } else if (randNumForQuote == 8) { document.getElementById("quoteDiv").innerHTML = "Hello8"; } else if (randNumForQuote == 9) { document.getElementById("quoteDiv").innerHTML = "Hello9"; } else if (randNumForQuote == 10) { document.getElementById("quoteDiv").innerHTML = "Hello10"; } </script> </body>

<html>
<body> 
    <div id="quoteDiv"></div>



</body>
<script>
// self executing function here

   var randNumForQuote = Math.floor((Math.random() * 11));

  if (randNumForQuote == 0) {
    document.getElementById("quoteDiv").innerHTML = "Hello";
  } else if (randNumForQuote == 1) {
    document.getElementById("quoteDiv").innerHTML = "Hello1";
  } else if (randNumForQuote == 2) {
    document.getElementById("quoteDiv").innerHTML = "Hello2";
  } else if (randNumForQuote == 3) {
    document.getElementById("quoteDiv").innerHTML = "Hello3";
  } else if (randNumForQuote == 4) {
    document.getElementById("quoteDiv").innerHTML = "Hello4";
  } else if (randNumForQuote == 5) {
    document.getElementById("quoteDiv").innerHTML = "Hello5";
  } else if (randNumForQuote == 6) {
    document.getElementById("quoteDiv").innerHTML = "Hello6";
  } else if (randNumForQuote == 7) {
    document.getElementById("quoteDiv").innerHTML = "Hello7";
  } else if (randNumForQuote == 8) {
    document.getElementById("quoteDiv").innerHTML = "Hello8";
  } else if (randNumForQuote == 9) {
    document.getElementById("quoteDiv").innerHTML = "Hello9";
  } else if (randNumForQuote == 10) {
    document.getElementById("quoteDiv").innerHTML = "Hello10";
  }
</script>

</html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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