【发布时间】:2017-12-13 09:45:05
【问题描述】:
var htmlComponent = [
{
element : 'button',
text : "Addition"
},
{
element : 'h1',
text : "This is the heading"
},
{
element : 'p',
text : "This is the paragraph."
}
];
htmlComponent.forEach(function(item) {
// Problem here
document.body.appendChild(document.createElement(item.element).appendChild(document.createTextNode(item.text)));
}
实际上我想使用 DOM 对象创建一个 html 元素,但这不起作用。我的意思是我的代码不能正常工作..
但是当我改变了类似的东西时:
htmlComponent.forEach(function(item) {
var _element = document.createElement(item.element);
var text = document.createTextNode(item.text);
_element.appendChild(text);
document.body.appendChild(_element);
}
那么代码就可以工作了。
这里的主要问题是为什么第二个代码可以工作而第一个代码不工作......我的代码有什么问题。
请解释一下…………
【问题讨论】:
-
因为
appendChild不返回添加的父节点
标签: javascript html arrays object