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

在本教程中,我们将看到从 JavaScript 数组创建 HTML 列表的多种方法。如果我们谈论简单的 HTML 列表,那么我们使用 ul(无序列表)手动创建所有列表,并在该 li em>(列表)标签。
考虑这样一种情况,您将有 n 个项目,并且必须将其打印在列表中,那么编写所有项目将是一项非常繁忙的任务。项目并手动打印对吗?然后使用 JavaScript 迭代方法就可以轻松完成此操作。
让我们看看 JavaScript 中创建 HTML 列表的各种方法。
使用for 循环
将 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>使用带片段的for循环
这与上面讨论的第一种方法相同,但不同之处在于,我们将使用Fragment来插入。 Fragment 倾向于将其分开,这意味着它不会附加到 DOM 树,因此它不会附加到真实的 DOM,那么浏览器必须做更少的工作。在上面的方法中,没有片段,浏览器在屏幕后面做了很多工作,这会影响实际性能,而且它实际上不会在实际页面中呈现。因此,最好使用片段。
要使用片段,我们将首先将列表项附加到片段,然后将片段附加到列表,而不是直接插入到没有片段的列表项。
p>
示例
<!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 列表的所有方法,希望你喜欢它。
javascript