javascript - 让 JavaScript 创建一个完整的 li

标签 javascript jquery html

<分区>

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]));
  }

}

上面的比较好。

关于javascript - 让 JavaScript 创建一个完整的 li,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34623604/

相关文章:

jquery - 当另一个 div 包含特定文本时如何隐藏该 div?

javascript - 将图像附加到现有表头

html - 分隔 URL 中的值,而不是 &

javascript - 根据填充命令填充完整的 Canvas

javascript - JQuery 动画横幅

javascript - 将 CSV 转换为 JSON (JS) 时如何替换字符串中的逗号

php - 请求的资源上存在 Phonegap No 'Access-Control-Allow-Origin' header 。因此不允许访问 Origin 'null'

javascript - 通过检查cookie动态改变jQuery "hover"

javascript - 正则表达式通过特定符号查找单词

jquery - 如何使用 jquery 在 ul 标签内删除和添加 li 元素