gpt4 book ai didi

javascript - appendChild 在新创建的 div 中

转载 作者:行者123 更新时间:2023-11-30 20:30:11 26 4
gpt4 key购买 nike

我不明白为什么会出现此错误:

Uncaught TypeError: Cannot read property 'appendChild' of undefined

这是我的代码:

//create new div element, append it to the body, give it an ID and a Class.
const container_clause_1 = document.createElement("div");
document.body.appendChild(container_clause_1);
container_clause_1.setAttribute("id", "container_clause_1");
container_clause_1.classList.add("cc1");

console.log(container_clause_1);
//returns <div id="container_clause_1" class="cc1></div>"

const cClause1 = document.getElementById("container_clause_1");

console.log(cClause1);
//returns <div id="container_clause_1" class="cc1></div>"

const right_clause_1 = document.createElement("div");
console.log(right_clause_1); //returns <div></div>

document.cClause1.appendChild(right_clause_1); //Error occurs here!

我不明白在这种情况下什么是未定义的。 cClause1 已定义。 right_clause_1 也被定义。诚然,此时它是一个空的 div,但这正是我想要做的 - 添加 div,然后我可以添加类和 ID 等。

此外,我没有看到任何拼写错误。

此外,如果我替换 document.cClause1.appendChild(right_clause_1);使用 document.body.appendChild(right_clause_1); 它工作正常。除了我不希望它在 body 内,而是在 container_clause_1 div 内。

我不能为此使用 JQuery。 “为什么不”与这个问题并不密切相关。我有我的理由。只知道我不能使用 JQuery。


嗯,这太明显了——在每个人都开始指出我做错了什么之后!感谢您的回答!

这是向我指出的另一件事:

我可以消除变量 cClause 并只使用 container_clause_1

所以我的代码更短了!

const container_clause_1 = document.createElement("div");
document.body.appendChild(container_clause_1);
container_clause_1.setAttribute("id", "container_clause_1");
container_clause_1.classList.add("cc1");

const right_clause_1 = document.createElement("div");
container_clause_1.appendChild(right_clause_1);
right_clause_1.setAttribute("id", "right_clause_1");
right_clause_1.classList.add("r1");

最佳答案

为什么要有"file"。在这一行?

document.cClause1.appendChild(right_clause_1);

当然你只需要:

cClause1.appendChild(right_clause_1);

关于javascript - appendChild 在新创建的 div 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50438062/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com