javascript - 使用 for 循环创建 html 元素

标签 javascript html

我的代码有什么问题?应该使用传入的数字(数量)在 html 中创建输入标签:

// Declare variables
var numberOfGrades = 0;
var NL = "\n";



// Functions
function setQuantity() {
  numberOfGrades = document.getElementById("quantity").value;

  var inputBox = document.createElement("INPUT");
  var BR = document.createElement("br"); // Break line
  var gradeNumber = 1;
  var gradeText = document.createTextNode("Grade " + gradeNumber + ":");

  for (var i = 0; i < numberOfGrades; i++) {
    alert(numberOfGrades);
    document.getElementById("formDiv").appendChild(BR);
   document.getElementById("formDiv").appendChild(gradeText);
    document.getElementById("formDiv").appendChild(inputBox);
    gradeNumber++;
  }


}
body {
  font-family: "Open Sans", sans-serif;
}
.container {
  width: 100%;
  background-color: lightcyan;
  padding: 10px;
}
<body>

  <h1>Homework and Quiz average calculator</h1>

  <p>Please Enter the required information to calcuate</p>
  <div class="container" id="formDiv">
    <form id="formID">
      <p>
        <strong>Calculate the average of homework grades</strong>
      </p>
      How many grades?
      <input type="number" id="quantity" name="quantity" min="1" max="10" value="1">
      <!--<input onclick="setQuantity()" type="submit" value="Apply">-->
    </form>
    <button onclick="setQuantity()">APPLY</button>
    <br>
  </div>

  <script src="script.js"></script>

</body>

JSFiddle here

最佳答案

当您调用 x.appendChild(y) 时,节点 y 被添加为 x 的子节点从哪里删除它如果它已经在 DOM 中了

例如:

var x = document.createElement("div");
var y = document.createElement("div");
var z = document.createElement("div");
x.appendChild(y);
z.appendChild(y); // now y is not inside x any more, was **moved** to z

如果你想拥有多个节点,你需要在循环中创建它们。

关于javascript - 使用 for 循环创建 html 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38985006/

相关文章:

javascript - 数组中的逗号,javascript

html - Twitter Bootstrap - p class = well 无法包含 <h1> 内容

javascript - 如何监控图像源的完全加载状态

javascript - 如何将 Mocha 测试文件与 Webpack 流程集成?

javascript - Highcharts 条形数据,边框适合数据

html - 在 Bootstrap 3 导航中删除品牌

javascript - 单击检查所有按钮问题

javascript - 如何从函数中覆盖构造函数属性

javascript - play() 请求被 pause() 调用中断

javascript - 如何链接回我的 index.html 上的选项卡?