我正在尝试创建一个应用程序,以根据输入的数字显示一定数量的列表项(即3 = 3个列表项)。到目前为止,我只能使用onClick函数创建一个显示一个列表项的函数。无论我使用什么代码,我都无法找到一种通过单击按钮即可创建多个列表项的方法。这是我当前的代码,HTML:
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<section>
<header>Week 5 Assignment</header>
<section>
<label>Name: <input type="text" id="nameInput" value="Enter a Name"></label>
</section>
<section>
<label>Num of Times: <input type="number" id="numInput" value="Enter Number"></label>
<section>
<ol id="nameOutput"></ol>
<hr>
<button onclick="displayName();">Display Name!</button>
<button>Reset</button>
</section>
</section>
</section>
<script src="script.js"></script>
</body>
</html>
还有我的JS:
var name = document.getElementById("nameInput").value;
console.log(name);
var num = document.getElementById("numInput").value;
var list = document.getElementById("nameOutput");
var item = document.createElement("li");
item.innerText = name;
list.append(item);
}
JavaScript For循环应该可以满足您要实现的目标
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<section>
<header>Week 5 Assignment</header>
<section>
<label>Name: <input type="text" id="nameInput" value="Enter a Name"></label>
</section>
<section>
<label>Num of Times: <input type="number" id="numInput" value="Enter Number"></label>
<section>
<ol id="nameOutput"></ol>
<hr>
<button onclick="displayName();">Display Name!</button>
<button>Reset</button>
</section>
</section>
</section>
<script src="script.js"></script>
</body>
</html>
<script>
function displayName() {
var name = document.getElementById("nameInput").value;
var num = document.getElementById("numInput").value;
var item = document.createElement("li");
item.innerText = name;
for (i = 0; i < num; i++) {
document.getElementById("nameOutput").innerHTML += '<li>'+name+'</li>';
}
}
</script>