如何创建从输入字段获得的div元素数量

问题描述 投票:0回答:1

我需要创建名称生成器。我有一个输入字段,我需要用户输入数字> 0并在文档中创建这样的div数。

let nums = parseInt(document.querySelector('.num').value);

function assign() {
  for (i = 0; i < nums; i++) {
    let box = document.createElement('div');
    box.classList.add('boxList');
    box.innerHTML = `<div>Group ${nums[i]}</div>`;
    document.body.appendChild(box);
  }
}
.boxList {
  border: 1px solid red;
  padding: 10px;
}
<input type="number" class="num" placeholder="enter num of groups">
<input type="button" id="assign" onclick="assign()" value="Assign">

控制台不显示任何问题!

javascript function dom dom-manipulation
1个回答
0
投票

您在脚本加载后立即设置nums。在这个时候,该字段不可能有值。

let语句移至函数中,以便在函数运行时它将收集输入框的值(表面上该字段由用户完成。)>

function assign() {
  let nums = parseInt(document.querySelector('.num').value);
  for (i = 0; i < nums; i++) {
    let box = document.createElement('div');
    box.classList.add('boxList');
    box.innerHTML = `<div>Group ${nums[i]}</div>`;
    document.body.appendChild(box);
  }
}
.boxList {
  border: 1px solid red;
  padding: 10px;
}
<input type="number" class="num" placeholder="enter num of groups">
<input type="button" id="assign" onclick="assign()" value="Assign">
© www.soinside.com 2019 - 2024. All rights reserved.