跨浏览器“getElementsByTagName”,带有来自responseXML的命名空间

2024-04-15

我正在尝试使用读取 XML 响应getElementsByTagName:

var rows = items.responseXML.getElementsByTagName("z:row");

for (var i=0; i<rows.length; i++)
{
//do something
}

上面的代码在 Firefox 和 IE 中工作正常,但在 chrome 中它抛出 null.. 我的意思是它没有获取任何数据.. 当我alert the rows.length它给了我0总是在铬合金中。

然后我在谷歌中搜索并了解问题所在xsd:element,然后我改变了"z:row"只到"row"。然后它在 Chrome 中工作,但 Firefox 和 IE 返回0 for rows.length.

有没有跨所有浏览器的方法?


这就是我使用的:

function byTagNS(xml,tag,ns) {
    return xml.getElementsByTagNameNS
      ? xml.getElementsByTagNameNS(ns,tag)
      : xml.getElementsByTagName(ns+":"+tag);
}

在你的情况下:

byTagNS(responseXML, "row", "z")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

跨浏览器“getElementsByTagName”,带有来自responseXML的命名空间 的相关文章

随机推荐