0

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

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

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

有谁知道如何实现这一点?

4

2 回答 2

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()

于 2013-06-17T13:27:04.230 回答
1

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

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

document.getElementById("feedback").innerHTML= html;
于 2013-06-17T13:27:58.133 回答