document.evaluate在chrome和firefox中

时间:2011-06-14 10:35:47

标签: javascript xpath xmlhttprequest document.evaluate

我需要帮助。我是新手在JavaScript中使用XPath而且这个让我难过。

我的脚本使用xmlhttp检索网页的内容,然后将其包装在'div'中:

            div=document.createElement('div');
            div.innerHTML=xmlhttp.responseText.replace(/<img[^>]*>/); 

我需要访问这个包装分区的正文内容,我使用Xpath来执行此操作:

bodyContent = document.evaluate("//*[@id='bodyContent']", div ,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);
bodyContent = bodyContent.snapshotItem(0);

虽然这在firefox中非常有效并且检索了所需的XpathObject,但它并没有为google chrome浏览器提供所需的结果。而不是返回创建的'div'元素的bodyContent除(并作为contextNode传递),它返回当前文档页面的bodyContent。

我已经检查并使用chrome - 收到了正确的xmlhttp.reponseText。

有关于此的任何想法吗?

谢谢,

1 个答案:

答案 0 :(得分:2)

document.evaluate(".//*[@id='bodyContent']", div ,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null)是否会在两种浏览器中为您提供所需的结果?