我想通过一个对象,可以有数组的几个层次进行迭代。
例如。
我开始:
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);
每个额外元素的规则是一样的,所以我应该能够公正循环下来这个数据结构以同样的方式对代码的两件,我只是不知道如何,但我敢打赌,有一段时间()循环在那里的某个地方。 谁能告诉我?
PS本地JavaScript,请,没有jQuery的! (虽然,如果你有YUI3的答案,我会很感兴趣)。