javascript - 用 javascript 添加 HTML 元素(不仅仅是替换)
问题描述
<div class = "chip chip1" id="chip100">#111</div>
<div class = "chip chip1" id="chip101">#111</div>
<div class = "chip chip1" id="chip102">#111</div>
<div class = "chip chip1" id="chip103">#111</div>
<div class = "chip chip1" id="chip104">#111</div>
<div class = "chip chip1" id="chip105">#111</div>
<div class = "chip chip1" id="chip106">#111</div>
<div class = "chip chip1" id="chip107">#111</div>
<div class = "chip chip1" id="chip108">#111</div>
<div class = "chip chip1" id="chip109">#111</div>
<div class = "chip chip1" id="chip110">#111</div>
<div class = "chip chip1" id="chip111">#111</div>
如何使用 javascript 生成此 HTML 代码?我尝试使用 document.getElementById("chip1").appendChild,但我不确定如何正确使用它。我可以用innerHTML 做一次,但这只替换它一次,我希望它多次使用它自己的唯一ID。谢谢你的帮助!
解决方案
像这样的东西会起作用:
function attachDivs() {
const container = document.querySelector('#container');
const numOfDivs = 12;
let currentChipId = 100;
for (let i = 0; i <= numOfDivs; i++) {
const newDiv = document.createElement('div');
newDiv.classList.add('chip');
newDiv.classList.add('chip1');
newDiv.setAttribute('id', `chip${currentChipId.toString()}`);
newDiv.textContent = '#111';
container.appendChild(newDiv);
currentChipId++;
}
}
attachDivs();
<div id="container"></div>
要附加到 DOM,我们需要一个容器appendChild
。我们可以创建一个循环来迭代createElement
我们需要的元素,用 和 设置属性,classList
然后我们追加,增加我们需要增加的任何东西,然后再次循环。setAttribute
textContent
推荐阅读
- apache-kafka - 如何编码以将数据永久存储在 Kafka 中?
- javascript - (单击)操作在 [innerHTML] Angular 内部不起作用
- java - 错误:线程“主”java.lang.ArrayIndexOutOfBoundsException 中的异常:10
- go - sync.Pool 比使用 channel 慢很多,那我们为什么要使用 sync.Pool 呢?
- excel - 如何在excel公式中实现以下
- plsql - 联合所有运算符的混乱
- apache - 使用 htaccess 重写规则
- php - ajax响应后有url重定向
- swift - 转换为协议时未调用协议扩展方法
- android - 当应用程序在 Nougat(版本 25)事件中从后台清除时,服务未运行,尽管我使用了 startforegound 通知