如何从 JavaScript 数组创建 HTML 列表?

front end technologyjavascriptweb development

在本教程中,我们将了解从 JavaScript 数组创建 HTML 列表的多种方法。如果我们谈论简单的 HTML 列表,那么我们使用 ul(无序列表)和 li(列表)标签手动逐个创建所有列表。

考虑这样一种情况,当您有 n 个项目并且您必须将其打印在列表中时,编写所有项目并手动打印将是一项非常繁重的任务,对吗?然后使用 JavaScript 迭代方法可以轻松完成此操作。

让我们看看在 JavaScript 中创建 HTML 列表的各种方法。

  • 使用 for 循环

  • 使用带有 fragment 的 for 循环

  • 使用 forEach() 循环

使用 for 循环

这个想法是使用简单的 for 循环(一种原始的 JavaScript 默认迭代方法)遍历数组列表中存在的所有项目,然后通过使用 createElemnt 方法创建 li(列表)将列表项附加到 ul(无序列表)项目中,使用 appendChild

示例

<html>
<body>
   <h3> HTML list using JavaScript using for loop</h3>
   <ul id="UnList"></ul>
   <script>
      let data = ["item1", "item2", "item3", "item4"];
      let list = document.getElementById("UnList");
      for (i = 0; i < data.length; ++i) {
         var li = document.createElement('li');
         li.innerText = data[i];
         list.appendChild(li);
      }
   </script>
</body>
</html>

使用带有 fragment 的 for 循环

这与上面讨论的第一种方法相同,但不同之处在于,我们将使用 Fragment 进行插入。Fragment 倾向于将其分离,这意味着它不会附加到 DOM 树,因此它不会附加到实际 DOM,浏览器需要做的工作较少。在上面的方法中,如果没有 fragment,浏览器会在屏幕后面做大量工作,这会影响实际性能,而且它实际上不会在实际页面中呈现。所以,最好使用 fragment。

要使用 fragment,我们将首先将列表项附加到 fragment,然后将 fragment 附加到列表中,而不是直接插入到没有 fragment 的列表项中。

示例

<!DOCTYPE html>
<html>
<body>
   <h3>HTML list using JavaScript with fragment</h3>
   <ul id="UnList"></ul>
   <script>
      let data = ["item1", "item2", "item3", "item4"];
      let list = document.getElementById("UnList");
      var fragList = document.createDocumentFragment();
      for (i = 0; i < data.length; ++i) {
         var li = document.createElement('li');
         li.textContent = data[i];
         fragList.appendChild(li);
      }
      list.appendChild(fragList);
   </script>
</body>
</html>

使用 forEach() 方法

forEach() 是 JavaScript 中的一个数组方法,它对项目的每个元素调用一次给定的函数,基本上它会对数组列表中的每个项目执行自定义回调函数,它执行的工作与 for 循环相同。

示例

<!DOCTYPE html>
<html>
<body>
   <h3>HTML list using JavaScript forEach()</h3>
   <ul id="UnList"></ul>
   <script>
      let data = ["item1", "item2", "item3", "item4"];
      let list = document.getElementById("UnList");
      var fragList = document.createDocumentFragment();
      data.forEach(function (item) {
         var li = document.createElement('li');
         li.textContent = item;
         fragList.appendChild(li);
      });
      list.appendChild(fragList);
   </script>
</body>
</html>

因此,我们看到了直接使用 JavaScript 创建 html 列表的所有方法,希望您喜欢它。


相关文章