Javascript 对IE上的XPath问题感到困惑

Javascript 对IE上的XPath问题感到困惑,javascript,internet-explorer,xpath,Javascript,Internet Explorer,Xpath,David Flanagan关于JavaScript的优秀著作中有一个示例,展示了如何在IE中执行XPath查询。在第五版的第518页,您可以看到以下代码片段取自示例21-10: // In IE, the context must be an Element not a document, // so if the context is a document, use the documentElement instead if (context == doc) context = doc.d

David Flanagan关于JavaScript的优秀著作中有一个示例,展示了如何在IE中执行XPath查询。在第五版的第518页,您可以看到以下代码片段取自示例21-10:

// In IE, the context must be an Element not a document,
// so if the context is a document, use the documentElement instead
if (context == doc) context = doc.documentElement;
return context.selectNodes(this.xpathText);

我好不容易才发现这个代码是绝对必要的。看起来(尽管我不明白为什么),IE上的XMLHttpRequest似乎随机返回了对与接收到的XML或documentElement对应的文档的引用。这里发生了什么?

我相信您已经回答了自己的问题,IE经常返回对文档或文档元素的引用,如果需要,if语句只是一个快速条件来修复它


如果你问IE为什么这么做,我想这里的任何人都无法给出答案……

谢谢!很高兴知道我没有发疯:-)我不知何故(像爱因斯坦一样)相信上帝(和MS)不会和宇宙掷骰子!但我们都知道他们会的!此外,在查看之后,您列出的问题似乎在IE6上比其他版本更常见。我从未见过这种情况发生,我广泛使用XHR。你能为一个复制显示更多的代码吗?