猿问

为什么javascript只会输出数组中的最后一个字符串?

我正在学习 javascript,但遇到了一些我不明白的东西


为什么javascript只将数组的最后一个字符串输出到<ul>id中,而在控制台输出完整的数组长度?


var ul = document.getElementById('id');

var colours = ["red", "green", "blue"];


var i;

for (i = 0; i < colours.length; i++) {

  console.log(colours[i])

  ul.innerHTML = "<li>" + colours[i] + "</li>";

}

<ul id="id"></ul>


侃侃无极
浏览 204回答 2
2回答

天涯尽头无女友

那是因为你在循环的每一步都覆盖了你的 DOM 元素。它只是依次获取所有值。如果您需要所有值,您可以做的是添加它们而不是覆盖它们:var content = "";for (i = 0; i < colours.length; i++) {&nbsp; console.log(colours[i])&nbsp; content += "<li>" + colours[i] + "</li>";}ul.innerHTML = content

慕婉清6462132

您正在将颜色元素分配给 ul 元素。尝试这个。var ul = document.getElementById('id');var colours = ["red", "green", "blue"];var i;for (i = 0; i < colours.length; i++) {&nbsp; &nbsp; console.log(colours[i])&nbsp; &nbsp; ul.innerHTML += "<li>" + colours[i] + "</li>";}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答