【问题标题】:How to access HTML element using XPath in IE8?如何在 IE8 中使用 XPath 访问 HTML 元素?
【发布时间】:2013-10-25 01:45:13
【问题描述】:

我遇到了使用 Javascript 中的 XPath 访问 IE 中的 HTML 元素的问题? 我已经尝试过 selectNodes() 方法,但它仅适用于 XML,它不 适用于 HTML 元素的 XPath。

document.setProperty("SelectionLanguage", "XPath");
var mydoc=document.loadXML(document);
var nodes=mydoc.selectNodes("//input[@name='action']");

但它没有返回任何元素。 谁能建议我如何使用 Javascript 通过 XPath 访问 IE 中的 HTML 元素? 任何建议表示赞赏。

-提前致谢。

【问题讨论】:

  • 这可能是由于与 Html 元素关联的命名空间。只是猜测。
  • @Furqan:你能详细说明一下吗?
  • 浏览器中渲染的Html有这样的html标签,w3.org/1999/xhtml" >,xmlns属性指定了所有html标签所属的命名空间,所以只要你想访问一些 html 元素,您可以通过在标记名之前指定命名空间来做到这一点,即“//xs:input”。

标签: javascript html internet-explorer xpath


【解决方案1】:

您可能还喜欢这个在 IE 中添加对 HTML 的 xpath 支持的解决方案:

http://sourceforge.net/projects/html-xpath/

这也有利于统一 IE 和其他浏览器之间的 API。

【讨论】:

    【解决方案2】:

    你可以试试下面的,

    浏览器可以通过以下方式获取 具有给定标签的所有元素, 无论命名空间如何,如果 文件作为 application/xhtml+xml 或其他 XML 类型:

        var titles = document.getElementsByTagNameNS("*","input[@name='action']");  
    

    【讨论】:

      【解决方案3】:

      试试 Wicked Good XPath: https://code.google.com/p/wicked-good-xpath/

      它是最小和最快的基于 JavaScript 的 XPath 库,由 Google 维护。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-08-15
        • 1970-01-01
        • 2015-09-22
        • 1970-01-01
        • 2017-09-21
        • 2010-10-25
        • 2013-12-01
        • 2019-10-04
        相关资源
        最近更新 更多