複数レベルの配列を持つことができるオブジェクトを反復処理しようとしています。
例えば。
私はから始めます:
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 の回答があれば、非常に興味があります)。