【发布时间】:2011-03-17 10:14:23
【问题描述】:
我不明白为什么会失败:
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参数。你能发布一个样本吗?
标签: javascript recursion