我不明白爲什麼失敗:JavaScript的遞歸元素創建失敗
var recursiveElementGenerator = function (elem_spec) {
elem = document.createElement(elem_spec.tag);
if (elem_spec.children) {
for (var i=0; i<elem_spec.children.length; i++) {
var c_elem = elem_spec.children[i];
var n_elem = recursiveElementGenerator(c_elem);
alert(elem===n_elem);
elem.appendChild(n_elem);
};
};
return elem;
};
的elem_spec
對象有標籤和屬性的兒童,後者是相似對象的數組。
這會失敗,因爲遞歸調用返回的元素與遞歸調用之前創建的元素相同。我沒有得到 - 一個類似的版本,它通過從一個pop()調用獲得它的標記值鏈,然後傳遞給遞歸調用。
我會看看'elem_spec'參數。你可以發佈一個樣本嗎? – 2011-03-17 01:03:17