将数组值附加到列表项

时间:2017-02-12 10:45:08

标签: javascript arrays

我试图将一系列项目输出到列表中。问题是当我点击提交时,它将所有数组项添加到每个列表项而不是每次都添加一个。

的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];
    }
})

2 个答案:

答案 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