如何从javascript数组中获取所有值并在段落标记中打印

时间:2017-08-27 22:59:49

标签: javascript arrays

请高度赞赏任何协助

var array = ["text1", "text2"];
for(var i = 0; i < array.length; i++) {
    document.getElementById("printarray").innerHTML = array[i];  // line 1
    Console.log(array[i]);  // line 2
}

第1行仅打印数组中的最后一个文本。

第2行打印所有文本

为什么这是因为我想在printarray中打印所有数据<p>

2 个答案:

答案 0 :(得分:3)

您需要使用+=将新数据附加到innerHTML,而不是每次都像=那样覆盖它。

var array = ["text1", "text2"];
for(var i = 0; i < array.length; i++) {
    document.getElementById("printarray").innerHTML += array[i];
}

您还可以使用<br>添加换行符,将每个元素放在一个新行上,以使事物更具可读性。

var array = ["text1", "text2"];
for(var i = 0; i < array.length; i++) {
    document.getElementById("printarray").innerHTML += array[i] + "<br>";
}

答案 1 :(得分:2)

你这样做的方式,innerHTML被重写,每次循环运行时只包含一个数组元素。

您可以构建一个包含数组中所有值的字符串,然后将innerHTML设置为该字符串。这将覆盖该HTML元素中的任何内容 - 将其替换为数组中的所有元素。

var array = ["text1", "text2"];
var temp = "";
for(var i= 0; i < array.length; i++) {
   temp += array[i];
}
document.getElementById("printarray").innerHTML = temp;

或者,您可以将每个字符串添加到innerHTML,这会将数组中的每个字符串连接到HTML元素中已有的字符串。

var array = ["text1", "text2"];
for(var i= 0; i < array.length; i++) {
   document.getElementById("printarray").innerHTML += array[i];
}