`

Firefox selectNodes

    博客分类:
  • js
 
阅读更多
/*
 *author:sohighthesky -- http://www.cnblogs.com/sohighthesky
 *content: selectNodes vs getElementsByTagName 
 */
 
if (!window.ActiveXObject) {
(function(){
    var oEvaluator=new XPathEvaluator(),oResult;
    XMLDocument.prototype.selectNodes = function(sXPath) {
        oResult = oEvaluator.evaluate(sXPath, this, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
        var aNodes = [];
        if (oResult != null) {
            var oElement = oResult.iterateNext();
            while (oElement) {
                aNodes[aNodes.length]=oElement;
                oElement = oResult.iterateNext();
            }
        }
        return aNodes;
    }
    XMLDocument.prototype.selectSingleNode = function(sXPath) {
        oResult = oEvaluator.evaluate(sXPath, this, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
        // FIRST_ORDERED_NODE_TYPE returns the first match to the xpath.
        return oResult==null?null:oResult.singleNodeValue;
    }
})()
}
 
var stringToDom=function(text) {
    var doc;
    if(window.ActiveXObject) {
        doc = new ActiveXObject("MSXML2.DOMDocument");
        doc.loadXML(text).documentElement;
    } else {
        doc = (new DOMParser()).parseFromString(text,"text/xml");
    }
    return doc;
}
var xmlDoc=stringToDom("<body><a href='a'>a</a><a href='b'>b</a></body>"),


出自:http://www.cnblogs.com/sohighthesky/archive/2010/02/26/getelementsbytagname-selectnodes.html
分享到:
评论

相关推荐

    javascript的IE和Firefox兼容性汇编

    ### JavaScript的IE与Firefox兼容性解决方案 #### 一、`document.form.item` 问题 - **现有问题**:代码中存在大量使用 `document.formName.item("itemName")` 的语句,这种写法在 Mozilla Firefox(简称MF)...

    getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现

    而在Firefox这样的非IE浏览器中,`getElementsByTagName` 是唯一可用的方法,因为它不支持 `selectNodes`。 `selectNodes` 是Internet Explorer特有的方法,它使用XPath表达式来查找匹配的节点。XPath是一种强大的...

    兼容IE、FireFox、Chrome等浏览器的xml处理函数js代码

    } catch(ex) { } if (""==htmlStr) { try { // Support Firefox, Mozilla, Opera, etc var xsltProcessor = new XSLTProcessor(); var xslDoc = document.implementation.createDocument("", "", null); xslDoc....

    JS操作XML文件,兼容火狐、IE

    例如,IE支持的`selectNodes()`和`selectSingleNode()`方法在Firefox中不可用。在这种情况下,你可以使用`getElementsByTagName()`和`querySelector()`/`querySelectorAll()`作为替代。 6. `show.js`中的实现 文件`...

    JS中常用的xpath特性

    XPath,全称XML Path Language,是一种在XML文档中查找...例如,Internet Explorer支持`selectNodes()`和`selectSingleNode()`方法,而其他浏览器如Firefox、Chrome等则通常使用`document.evaluate()`来执行XPath查询。

    JS读取XML例子(兼容IE和FF).rar

    这个"JS读取XML例子(兼容IE和FF).rar"压缩包包含了一个示例,展示了如何在不依赖任何插件的情况下,使用JavaScript在Internet Explorer(IE)和Firefox(FF)等浏览器中读取XML文件。下面我们将详细探讨JavaScript...

    JS实现兼容各浏览器解析XML文档数据的方法

    通过检查navigator.userAgent字符串中是否包含特定的浏览器标识字符串,如"MSIE"代表IE浏览器,"Chrome"代表Chrome浏览器,"Firefox"代表Firefox浏览器等,来确定浏览器的类型。 知识点四:XML文档解析技巧 文章还...

    XMLDOM对象方法手册.rar

    XMLDOM(XML Document Object Model)是...不过,需要注意的是,XMLDOM主要是在Internet Explorer中使用,对于其他浏览器,如Firefox、Chrome等,可能需要使用不同的API,如DOMParser或XMLHttpRequest来解析和操作XML。

    javascript读取XML文件方法

    // 对于非IE浏览器(例如Chrome, Firefox) if (window.DOMParser) { var xmlDoc = new DOMParser().parseFromString("", "text/xml"); } ``` ##### 2. 加载XML文件或字符串 创建了DOMDocument对象后,我们可以...

    IE下获取XPATH小工具源码_xpath_

    5. **浏览器兼容性**:虽然题目中提到的是IE,但考虑到现代开发环境,小工具可能还需要处理其他浏览器,如Firefox、Chrome等,它们使用不同的DOM和XPath实现。因此,代码可能需要进行条件判断或使用浏览器API来实现...

    谷歌天气API-C# 代码

    rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4"; GWP_Response = (HttpWebResponse)GWP_Request.GetResponse(); GWP_XMLdoc = new XmlDocument(); GWP_XMLdoc.Load(GWP_Response.GetResponseStream()); } catch...

    Ajax读取XML实现动态下拉导航

    - **解决浏览器兼容性问题**:由于Firefox浏览器不支持`selectNodes`方法,因此通过自定义方法实现了对XML文档的遍历和查询。 - **方法定义**:`XMLDocument.prototype.selectNodes` 和 `Element.prototype....

    javascript读写XML实现广告轮换(兼容IE、FF)

    - **Firefox兼容性**:在Firefox浏览器中,使用`document.implementation.createDocument`方法创建XML文档对象,然后进行节点读取和操作。 #### 安全和性能考虑 - **安全措施**:在实际应用中,对从XML文件中获取...

    javascript下有关dom以及xml节点访问兼容问题

    不同的浏览器内核(如IE的Trident、Chrome的Blink、Firefox的Gecko等)对标准的支持程度不一,特别是对于早期的DOM(文档对象模型)操作和XML处理方面,这种差异尤为明显。本文将重点介绍在JavaScript中处理DOM和XML...

    Javascript操作XML和HTML

    3. 在Firefox浏览器下,可以使用`document.implementation.createDocument`来将XML字符串转换为DOM对象。示例代码如下: ```javascript var xmlDoc = document.implementation.createDocument("", "doc", null); var...

    javascript加载xml 并解析各节点的值(实现方法)

    对于Firefox浏览器,由于它不支持`selectNodes`,可以使用`getElementsByTagName`来代替: ```javascript var cNodes = xmlDoc.getElementsByTagName("nodeName"); for (var j = 0; j ; j++) { var value = cNodes...

    javascript操作XML与HTML

    2. **Firefox 下将字符串转换为 DOM 对象** ```javascript // 创建 DOM 对象 var xmlDoc = document.implementation.createDocument("", "doc", null); var xmlString = "&lt;book&gt;&lt;title&gt;ajax&lt;/title&gt;&lt;author&gt;...

    xml for SCRIPT-开源

    6. **跨浏览器兼容**:考虑到JavaScript环境的多样性,XML for SCRIPT致力于在不同浏览器上提供一致的性能和功能,如IE、Firefox、Chrome、Safari等。 7. **开源许可证**:作为开源软件,XML for SCRIPT遵循特定的...

Global site tag (gtag.js) - Google Analytics