通过Array的For循环只显示最后一个值
For loop through Array only shows last value
我试图通过数组循环,然后使用innerHTML为数组中的每个条目创建一个新的
window.onload = function() {
// Read value from storage, or empty array
var names = JSON.parse(localStorage.getItem('locname') || "[]");
var i = 0;
n = (names.length);
for (i = 0; i <= (n-1); i++) {
var list = names[i];
var myList = document.getElementById("list");
myList.innerHTML = "<li class='list-group-item' id='listItem'>"+ list + "</li>" + "<br />";
}
}
我有一个UL与id 'list'在我的HTML。
更改for
循环:
for (i = 0; i <= (n-1); i++) {
var list = names[i];
var myList = document.getElementById("list");
myList.innerHTML += "<li class='list-group-item' id='listItem'>"+ list + "</li>" + "<br />";
}
用+=
代替=
。除此之外,您的代码看起来很好。
我建议您首先创建一个div元素。在那里你添加你的innerHTML,然后你可以做appendchild。
function displayCountries(countries) {
const countriesDiv = document.getElementById('countriesDiv');
countries.forEach(country => {
console.log(country.borders);
const div = document.createElement('div');
div.classList.add('countryStyle');
div.innerHTML = `
<h1> Name : ${country.name.official} </h1>
<h2> Capital : ${country.capital} </h2>
<h3> Borders : ${country.borders} </h3>
<img src="${country.flags.png}">
`;
countriesDiv.appendChild(div);
});
}
相关文章:
- dataTables-如何自定义分页类型以显示最后一个页码后面的省略号,
- jQuery自定义验证只显示最后一个字段的错误
- ExtJS DataView只显示最后一个JSON元素
- 有角度的ng重复只显示最后一个元素.如果只有一个元素;我什么也不展示
- Javascript - 循环访问对象数组,仅显示最后一个对象
- 显示最后一个元素后刷新页面
- Javascript Array 只显示最后一个孩子
- infowindow.setContent 方法仅显示最后一个帐户名
- 谷歌可视化散点图只显示最后一个系列的工具提示
- "重新打开最后一个关闭的选项卡“;导致显示最后一个ajax请求内容
- 如何添加一个类列表,并且只在JavaScript中显示最后一个类
- 单击DIV上的所有ID时如何显示最后一个ID
- 只显示最后一个元素
- 使用setTimeOut在3秒后逐个显示标记.为什么它只显示最后一个标记
- 在JavaScript中,console.log给出了for循环的每个值.但是var.text只显示最后一个值.这是为什
- JavaScript显示最后一个选项卡
- JSON文件只显示最后一个条目,尽管id不同
- Javascript幻灯片显示最后一个图像5次
- 如何在j查询中点击显示最后一个li
- 通过Array的For循环只显示最后一个值