function loadFamily() {
var family = ["Kelly", "Paul", "Jason", "Jessica", "Mat"];
var ulElement = document.getElementById("nameList");
for (var name in family);
{
var listItem = ulElement.appendChild(document.createElement("li"));
listItem.appendChild(document.createTextNode(family[name]));
}
}
我正在尝试获取此代码以在我的 html 中创建一个 ul。我已经能够让它发挥作用;但是它只会在加载页面时放置数组的姓氏。这是我第一次使用 JavaScript,我确信这是一个非常简单的问题,但非常感谢任何帮助!
最佳答案
您将在此处停止您的 for 循环:
for (var name in family);
//----------------------^ Remove this.
它完全运行并且索引在最后,所以它现在只执行最后一个。因此,将您的代码更改为:
function loadFamily() {
var family = ["Kelly", "Paul", "Jason", "Jessica", "Mat"];
var ulElement = document.getElementById("nameList");
for (var name in family) {
var listItem = ulElement.appendChild(document.createElement("li"));
listItem.appendChild(document.createTextNode(family[name]));
}
}
注意:for...in 循环仅迭代可枚举属性。不要使用此对于数组。最好像这样更改循环:
function loadFamily() {
var family = ["Kelly", "Paul", "Jason", "Jessica", "Mat"];
var ulElement = document.getElementById("nameList");
for (var name = 0; name < family.length; name++) {
var listItem = ulElement.appendChild(document.createElement("li"));
listItem.appendChild(document.createTextNode(family[name]));
}
}