我正在尝试遍历可以具有多个数组级别的对象。
例如。
我开始:
var htmlString = {
"div": [{
"attributes": {
"class": "myDivClass"
},
"p": [{
"attributes": {
"class": "myPClass"
}
}]
}]
};
现在让我们添加其他内容:
var htmlString = {
"div": [{
"attributes": {
"class": "myDivClass"
},
"p": [{
"attributes": {
"class": "myPClass"
},
"span": [{
"attributes": {
"class": "mySpanClass"
}
}]
}]
}]
};
我正在处理的代码将具有与以下相同的形状:
var childNode = document.createElement("myChildElement");
for (key in value) {
if (value.hasOwnProperty(key)) {
if (key == "attributes") {
childNode.setAttributes(myAttributes); // loop through attributes on the element
}
else {
//the same code ad infinitum
var childChildNode = document.createElement("myChildChildElement");
// etc etc....
}
}
}
parentNode.appendChild(childNode);
每个额外元素的规则是相同的,所以我应该能够以相同的方式为两段代码循环这个数据结构,我只是不确定如何,虽然我敢打赌有一个 while()在某处循环。谁能告诉我?
PS 原生 javascript,请不要使用 jQuery!(虽然,如果你有 YUI3 的答案,我会很感兴趣)。