我正在处理HTML项目。基本上将HTML节点保存到JavaScript的Object中以将它们追加到元素中。这是我的HTML,JavaScript和错误。将HTML元素转换为“节点”类型
HTML
...
...
的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]); //
}
}
function main() { /* Main function */
for (var x=0;x < some_example.length;x++) {
create('div', some_example.id);
}
spawn();
}
对不起,这有点复杂脚本。不管怎么说,所有的工作都很顺利,但appendChild是否BOBO如下:
错误
Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.
希望,你们有什么想法。谢谢。
+2
可能的重复[为什么使用“for ... in”与数组迭代是一个坏主意?](http://stackoverflow.com/questions/500504/why-is-using-for-in -with-array-iteration-a-bad-idea) –