javascript - appendChild 在新创建的 div 中

标签 javascript dom

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

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/

相关文章:

javascript - 如何删除行并在文本区域中显示删除的行(标题除外)?

javascript - 如何使用 css 在 3 列中显示元素

Javascript:尝试从循环中删除选项

javascript - BxSlider 正在运行,但 div 中有一个空白区域

dom - ExtJS4:查找树节点的 DOM 元素

javascript - document.getElementById 使用变量将 Id 传递给函数 onclick 返回 null

javascript - ReferenceError 'model' 未在 Mongoose 中定义

javascript - 只运行一次事件

javascript - 设置溢出 :hidden to body/html hides scrollbars but does not disable scrolling in Firefox

javascript - document.createElement 多个参数