1 到 50 之间的随机数; 50次

random numbers between 1 and 50; 50 times

我快明白了,但还是没有达到我想要的效果 它——我得到 s var a = 生成一个介于 1 和 50 之间的整数

整数(结果)以文本形式输出 id("tt4")

但我无法完成 50 次,我尝试使用 for 循环 // 但就像我说的,我 挂在这里...

function add() {
  var a = Math.floor(Math.random() * 50) + 1;
  for (var i = 0; i < 49; i++) {
    document.getElementById("tt4").innerHTML = a + ('\n');
  }
}
<!DOCTYPE html>
<html>

<head>
  <title></title>
  <link rel="stylesheet" type="text/css" href="style.css" media="screen" />
</head>

<body>
  <button onclick="add()">OK</button>
  <br><br>
  <textarea id="tt4" name="t4"></textarea>
</body>

</html>

我知道问题出在 for 循环中,因为 'nothing' 发生在循环中的 var i // 但我无法弄清楚

您需要连接 innerHTML 属性 才能更新显示。您还需要将随机数生成移动到循环中。这是一个示例:

function add() {
  for (var i = 0; i < 49; i++) {
   var a = Math.floor(Math.random() * 50) + 1;
    document.getElementById("tt4").innerHTML += a + ('\n');
  }
}
<!DOCTYPE html>
<html>

<head>
  <title></title>
  <link rel="stylesheet" type="text/css" href="style.css" media="screen" />
</head>

<body>
  <button onclick="add()">OK</button>
  <br><br>
  <textarea id="tt4" name="t4"></textarea>
</body>

</html>

如果将 random() 放在循环中,每次迭代都会生成一个新数字,否则您将得到相同的数字。另外 += 添加内容,而不是 =,分配和替换内容。

  for (var i = 0; i < 49; i++) {
  var a = Math.floor(Math.random() * 50) + 1;
    document.getElementById("tt4").innerHTML += a + ('\n');
  }
<textarea id="tt4" name="t4"></textarea>

在设置 textareainnerHTML 时,您需要使用 += 而不是 =(这将添加更多 HTML 而不是替换HTML 当前随机数)。

<!DOCTYPE html>
<html>

<head>
  <title></title>
  <link rel="stylesheet" type="text/css" href="style.css" media="screen" />
</head>

<body>
  <button onclick="add()">OK</button>
  <br><br>
  <textarea id="tt4" name="t4"></textarea>
  <script>
  function add() {
  for (var i = 0; i < 49; i++) {
  var a = Math.floor(Math.random() * 50) + 1;
    document.getElementById("tt4").innerHTML += a + ('\n');
  }
}
  </script>
</body>

</html>