首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >InvalidStateError: XPath结果上的DOM异常11

InvalidStateError: XPath结果上的DOM异常11
EN

Stack Overflow用户
提问于 2013-07-17 03:30:13
回答 1查看 453关注 0票数 1

目前,我正在尝试运行一个xPath,然后将每个结果集转换为一个DOM对象,这样我就可以在其中搜索一些东西,但我总是得到一个DOM异常11或未捕获的TypeError:非法调用

代码:

代码语言:javascript
复制
getDataForOutput = function() {
    log("Getting Loading Necessary Data from XML ["+settings.rowPath+"]");
    if (window.ActiveXObject) {
        var nodes=rawXML.selectNodes(path);

        alert('Currently not IE compatible');

        for (i=0;i<nodes.length;i++) {
            //
        }
    }
    // code for Mozilla, Firefox, Opera, etc.
    else if (document.implementation && document.implementation.createDocument) {
        var nodes=rawXML.evaluate(settings.rowPath, rawXML, null, XPathResult.ANY_TYPE, null);
        var result=nodes.iterateNext();
        log(nodes);

        while (result) {
            //log("result");
            for(i in settings.columns) {
                if(typeof outputCols[i] == "function") { continue; }
                if(typeof outputCols[i] == "undefined") { outputCols[i] = new Array(); }
                //log($(result).find(settings.columns[i].tag)[0]);

                var data;
                //THE LINE BELOW CAUSES THE DOM EXCEPTION 11 TO HAPPEN....
                var ele = $(result).find(settings.columns[i].tag)[0];
                //THE LINE ABOVE IS EVIL. I EVEN TRIED TO USE:
                //var ele = $(jQuery.extend({}, result)).find(settings.columns[i].tag)[0];
                //BUT IT GIVES OFF: Uncaught TypeError: Illegal invocation 
                if(settings.columns[i].nodeName == true) {
                    data = result.tagName;
                } else if(settings.columns[i].nodeValue == true) {
                    data = result.textContent;
                } else if(typeof settings.columns[i].attr != "undefined") {
                    data = result.getAttribute(settings.columns[i].attr);
                }

                outputCols[i].push(data);
            }

            result = nodes.iterateNext(); //Gives Dom Excepti
        }
    }
    log("Data loaded");
},

未捕获的错误: InvalidStateError: DOM异常11

代码语言:javascript
复制
Uncaught Error: InvalidStateError: DOM Exception 11 xmlEditor.js:229
XMLEditor.getDataForOutput xmlEditor.js:229
XMLEditor.outputData xmlEditor.js:70
XMLEditor.loadXML xmlEditor.js:63
XMLEditor.init xmlEditor.js:23
XMLEditor xmlEditor.js:364
(anonymous function) edit_translation.html?page=cerep_assay_translation&sso.token=ffc469425b70b2…en&last_name=Brice&email=steven.m.brice@abbvie.com&external_id=bricesm1:22
l jquery-2.0.1.min.js:4
c.fireWith jquery-2.0.1.min.js:4
x.extend.ready jquery-2.0.1.min.js:4
S

未捕获的TypeError:非法调用

代码语言:javascript
复制
Uncaught TypeError: Illegal invocation jquery-2.0.1.min.js:4
t.nodeType.t.documentElement.i.find.TAG.n.getElementsByTagName.r jquery-2.0.1.min.js:4
St jquery-2.0.1.min.js:4
ot jquery-2.0.1.min.js:4
x.fn.extend.find jquery-2.0.1.min.js:5
XMLEditor.getDataForOutput xmlEditor.js:219
XMLEditor.outputData xmlEditor.js:70
XMLEditor.loadXML xmlEditor.js:63
XMLEditor.init xmlEditor.js:23
XMLEditor xmlEditor.js:366
(anonymous function) edit_translation.html?page=cerep_assay_translation&sso.token=ffc469425b70b2…en:22
l jquery-2.0.1.min.js:4
c.fireWith jquery-2.0.1.min.js:4
x.extend.ready jquery-2.0.1.min.js:4
S
EN

回答 1

Stack Overflow用户

发布于 2013-07-17 04:09:31

最终只是做了:

代码语言:javascript
复制
var ele = result.getElementsByTagName(settings.columns[i].tag)[0];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17685387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档