我可以使用以下语法创建一个新的div:
function createClass() {
const firstDiv = document.createElement('div')
firstDiv.classList.add('class1')
container.appendChild(firstDiv)
}
接下来,我想在这个div中创建一个新的div。我尝试了相同的语法,但没有成功:
function createClass() {
const firstDiv = document.createElement('div')
firstDiv.classList.add('class1')
container.appendChild(firstDiv)
const secondDiv = document.createElement('div')
secondDiv.classList.add('class2')
firstDiv.appendChild(secondDiv)
}
如果我使用下面的语法,它可以工作,但有一个问题。如果函数执行不止一次,则只创建一次第二类。因此,如果执行两次,结果将是:
<div class="class1"><div class="class2"></div></div>
<div class="class1"></div></div>
document.getElementsByClassName('class1')[0].appendChild(secondDiv)
有什么帮助吗?
发布于 2022-08-02 11:11:36
您的代码不包括将动态HTML附加到文档中。但是当完成时,输出就和预期的一样。
let container = document.getElementById("container");
function createClass() {
const firstDiv = document.createElement('div')
firstDiv.classList.add('class1')
container.appendChild(firstDiv)
const secondDiv = document.createElement('div')
secondDiv.classList.add('class2')
firstDiv.appendChild(secondDiv)
// Your post doesn't include appending the first div to the document
container.appendChild(firstDiv);
}
createClass();
createClass();
console.log(container.innerHTML);
<div id="container"></div>
https://stackoverflow.com/questions/73212534
复制