javascript - 重复标签而不产生更多变量
问题描述
所以简而言之,我想添加一个简单的 JavaScript 代码来添加无序列表,并在其中添加 4 个具有不同文本的列表。我可以用简单的方法做到这一点,但我想知道是否可以<li>
在更改内部文本的同时复制标签而不创建更多变量。
const ul = document.createElement('ul')
const li = document.createElement('li')
const a = ['one','two',"three","four"]
const group = document.body.insertAdjacentElement('afterbegin' , ul)
ul.appendChild(li)
li.textContent = a[0]
解决方案
迭代a
数组并在其中创建元素。
如果您想避免在不需要时创建变量,可以使用appendChild
(返回附加元素):
const ul = document.body.appendChild(document.createElement('ul'));
for (const item of ['one','two',"three","four"]) {
ul.appendChild(document.createElement('li')).textContent = item;
}
另一种方法:
document.body.appendChild(document.createElement('ul'))
.innerHTML = ['one','two',"three","four"]
.map(t => `<li>${t}</li>`)
.join('');
也就是说,如果它们使代码更具可读性,最好不要害怕创建变量。
推荐阅读
- shell - 在 awk 中比较 2 个文件
- javascript - 我如何在nodeJS中比较来自mongodb的日期
- python - 在字典列表中查找键值
- c# - 以特定语言格式化值的任何方式
- kubernetes - Kubernetes 1.13,CoreDNS - 集群 curl 服务?
- jquery - 如何使用具有 WooCommerce 功能的 jquery 更新 href 链接
- r - 在单个图中为一个连续 Y 变量绘制多个 X 变量
- jetbrains-ide - 设置中缺少 WebStorm 系统字体
- javascript - jQuery中带有if条件的&&语句不起作用
- java - 如何查找arrayList中的哪些二维点是共线的