【发布时间】:2018-01-25 08:12:03
【问题描述】:
我有一个对象:
var data = {
"lay": "h_m_f",
"h": {
"par": {
"first_second": {
"first": {
"module": {
"article": {
"archivclankyrubrika": "3",
"pocetclanku": "10"
}
}
},
"second": {
}
}
},
"next": {
"one": {
"val": {
}
},
}
},
}
};
我尝试从这个对象构建 html 嵌套 div。如果节点没有子节点,则显示内部文本。但问题是这个脚本不会循环遍历孩子。结果我只有 2 个 div。
我的问题在哪里?感谢您的回答。这是我的脚本:
function create_node(obj){
var node = document.createElement('div');
node.setAttribute('class', Object.keys(obj)[0]);
for (var i in obj) {
node.appendChild(create_node(obj.i));
}
return node;
}
console.log(create_node(jsonTemplate));
更新:对我来说理想的结果:每个对象都是 div,在模块之前有类。模块是最后一个div,模块的cihldren的键显示为文本。
<div class="h">
<div class="par">
<div class='first_second'>
<div class="first">
<div class="module">
article
</div>
</div>
<div class="second">
</div>
</div>
</div>
<div class="next">
<div class="one">
<div class="val">
</div>
</div>
</div>
</div>
【问题讨论】:
-
obj.i不正确,应该是obj[i] -
HTML 应该是什么样的?
-
@SergeK,它会无限循环。
-
@RoryMcCrossan 喜欢
<div class="h"><div class="first_second"><div class="module">article</div></div></div> -
那么
par和first、archivclankyrubrika、3会发生什么?
标签: javascript jquery html object