我试图将一系列项目输出到列表中。问题是当我点击提交时,它将所有数组项添加到每个列表项而不是每次都添加一个。
的jsfiddle: https://jsfiddle.net/b7Lwbrof/
谢谢!
var itemList = [];
var container = document.getElementById('container');
// On click
document.getElementById('submit').addEventListener("click", function(){
var itemValue = document.getElementById('itemValue').value;
// Push to array
itemList.push(itemValue);
// Append to List
for(i=0; i<itemList.length; i++) {
var items = document.createElement("li");
document.getElementById('container').appendChild(items);
items.innerHTML = itemList[i];
}
})
答案 0 :(得分:2)
您不需要循环,只需在将项目推送到itemList后附加该项目。
document.getElementById('submit').addEventListener("click", function(){
var itemValue = document.getElementById('itemValue').value;
// Push to array
itemList.push(itemValue);
// Append to List
var items = document.createElement("li");
document.getElementById('container').appendChild(items);
items.innerHTML = itemList[itemList.length-1];
})
答案 1 :(得分:2)
items.innerHTML = itemList[itemList.length - 1] // get the last
而不是
items.innerHTML = itemList[i]
删除循环,如@digit所说。
小提琴here