我在firefox 4上使用JS,并获得以下代码的“太多的递归错误”:

  extractText: function(domObj) {
    if (domObj == null) {
        return "";
    } else {
        var acc = "";
        if (domObj.nodeType == Node.TEXT_NODE) {
            acc += domObj.nodeValue;
        }
        if (domObj.hasChildNodes()) {
            var children = currentObj.childNodes;
            for (var i = 0; i < children.length; i++) {
                acc += sui.extractText(children[i]);
            }
        }
        return acc;
    }
  }
};


任何人?

最佳答案

我认为这一行:

        var children = currentObj.childNodes;


应该:

        var children = domObj.childNodes;


在我看来,您对“ currentObj”的引用似乎从顶部开始,而不是从所检查的元素开始。当然很难说,因为您没有包括相关的定义或“ currentObj”的初始化。

09-28 09:25