JavaScriptの再帰に問題があります。ここでJavascript再帰の問題
_parseJson: function($object, $j_array) {
for (i = 0; i < $j_array.length; i++) {
var $el = document_designer.createElement($j_array[i]);
$object.append($el);
if ($j_array[i].elements.length > 0) {
this._parseJson($el, $j_array[i].elements);
}
}
}
両方の関数(parseJson
とcreateElement
)が "document_designer" と呼ばれるオブジェクトの下にあるコードです。ここにはcreateElement
createElement: function(n) {
var $element = $('<' + n['tag'] + '/>');
document_designer.oi++;
if (n.id == null) {
$element.attr('id', '____element' + document_designer.oi);
}
document_designer.processElement($element, n); // you may ignore this line
return $element;
}
processElement関数に問題はありません。あなたも、そのライン
document_designer._parseJson(document_designer.$preview, json_element)
// $preview is an created object in the `body`
を無視して、私の親JSONは次のとおりです。http://www.jsoneditoronline.org/?id=c99c77938e5edf91996e4bb267fd09b1
ルート要素が作成され、最初のメインのサブチャイルズが、他のルート要素のサブ要素を使用すると、var
を忘れてしまった
あなたの問題は何ですか? – Barmar
ルート要素が作成されていて最初のメインのサブツリーが他のルート要素のサブ要素を作成していません – ahmetertem
@ahmetertem、jsonのサンプルを提供してください。 – autoboxer