使用Javascript在同一页面上打印数组的每个记录

时间:2013-06-17 13:25:56

标签: javascript html arrays for-loop

我有一个包含可变数量记录的数组。我想在同一个html页面中打印数组的每个记录。我更喜欢它显示在列表中。

我有以下代码。但是这只会打印数组的最后一条记录,因为它会覆盖我的html ul-element中的前一条记录。

for (var i = 0; i < feedbackGeenLid.length; i++)
{
document.getElementById("feedback").innerHTML= ("<li>"+feedbackGeenLid[i] + "</li>");
}

有没有人知道如何实现这个目标?

2 个答案:

答案 0 :(得分:3)

您的代码一直在替换您需要添加的innerHTML。

document.getElementById("feedback").innerHTML += ("<li>"+feedbackGeenLid[i] + "</li>");
                                              ^
                                              |
                                              Added + here

为了更好的性能,构建一个字符串并在循环结束时将其设置为innerHTML。

var out = "";
for (var i = 0; i < feedbackGeenLid.length; i++)
{
  out += "<li>"+feedbackGeenLid[i] + "</li>";
}
document.getElementById("feedback").innerHTML= out;

另一种选择,使用appendChild()

答案 1 :(得分:1)

您正在重写每个循环中的内容。使用变量来连接内容,然后将其放在元素中:

var html = '';
for (var i = 0; i < feedbackGeenLid.length; i++)
{
 html += "<li>"+feedbackGeenLid[i] + "</li>";
}

document.getElementById("feedback").innerHTML= html;