我正在开发一个HTML项目。基本上将HTML节点保存到JavaScript的Object中以将它们附加到元素中。这是我的HTML,JavaScript和错误。
HTML
...
<div id="holder"></div>
...
的JavaScript
var _handler = {};
var _holder = document.getElementById('holder');
var some_example = [{"id":"item_1"}, {"id":"item_2"}]
function create(tag, id) { /*Created a DOMObject */
var elem = document.createElement(tag);
_handler[id] = elem;
}
function spawn() {
for (var k in _handler) {
_holder.appendChild(_handler[k]); //<----- Here's the error occurring, given at very last.
}
}
function main() { /* Main function */
for (var x=0;x < some_example.length;x++) {
create('div', some_example.id);
}
spawn();
}
抱歉这个小小的复杂脚本。无论如何,所有的工作都很顺利,但appendChild
执行下面给出的 bobo :
错误
希望,你们有任何想法。谢谢。未捕获的TypeError:无法在'Node'上执行'appendChild':参数1不是'Node'类型。
答案 0 :(得分:3)
确保在hasOwnProperty
循环中使用for
。
for (var k in _handler) {
if (_handler.hasOwnProperty(k)) {
_holder.appendChild(_handler[k]);
}
}