Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
chrome上的Javascript getElementsByTagName有问题_Javascript_Html_Xml_Google Chrome_Web - Fatal编程技术网

chrome上的Javascript getElementsByTagName有问题

chrome上的Javascript getElementsByTagName有问题,javascript,html,xml,google-chrome,web,Javascript,Html,Xml,Google Chrome,Web,我在chrome浏览器中获取xml标记名长度时遇到问题。当我尝试这个getElementsByTagName(“auth:accountInfo”)时,它在FF上运行良好,但在chrome上不起作用。如果我使用getElementsByTagName(“accountInfo”)它在chrome上工作,但在FF上不工作。有人能帮我写两种浏览器都适用的正确逻辑吗?下面是我的示例代码 objXHR = XMLHttpRequest() if(objXHR.status == 200)

我在chrome浏览器中获取xml标记名长度时遇到问题。当我尝试这个
getElementsByTagName(“auth:accountInfo”)
时,它在FF上运行良好,但在chrome上不起作用。如果我使用
getElementsByTagName(“accountInfo”)
它在chrome上工作,但在FF上不工作。有人能帮我写两种浏览器都适用的正确逻辑吗?下面是我的示例代码

objXHR = XMLHttpRequest()
if(objXHR.status == 200)
        {
            var accountInfo = objXHR.responseXML.getElementsByTagName("auth:accountInfo");
            if (accountInfo.length > 0)
            {
                // do something
                }
使用

getelementsbytagnames(authNS,'accountInfo');
authNS
,是您在XML文档中声明的名称为
auth
的命名空间URI

请注意,使用query
//auth:accountInfo
可以实现同样的效果,但是需要传递一个函数来返回正确的nameSpaceURI。还要注意,此方法意味着更多的代码,并且比其他DOM方法慢

最后,您还可以使用
querySelectorAll('*|accountInfo')
实现这一点,但在这种情况下,所有带有标记名
accountInfo
的元素都将被选中,不管它们的名称空间是什么

let start=\u=>{
var doc=new DOMParser().parseFromString(十四行诗,'application/xml');
log('getelementsbytagnames');
console.log(doc.getelementsbytagnames(“http://www.authors.com/“,'author')[0]。outerHTML);
//或者使用XPath
函数解析(名称){
如果(名称=='auth'){
返回'http://www.authors.com/'
}
}
var query=doc.evaluate(“//auth:author”,doc,resolves,XPathResult.ANY\u类型,null);
var元素=[];
var-el;
while(el=query.iterateNext()){
元素。推(el);
}
log('XPATH');
console.log(元素[0].outerHTML)
//或者,使用querySelectorAll
log('querySelectorAll');
console.log(doc.queryselectoral('*| author')[0].outerHTML);
};
var十四行诗=`
莎士比亚
威廉
英国的
1564
1616
十四行诗130
我情妇的眼睛一点也不像太阳,
珊瑚比她的嘴唇红得多。
如果雪是白色的,为什么她的胸部是褐色的,
如果头发是金属丝,黑色的金属丝会在她的头上生长。
我见过玫瑰,红白相间,
但我在她的脸颊上看不到这样的玫瑰。
在一些香水中有更多的乐趣吗
比从我的呼吸。。。
`;

start()这似乎与名称空间组件有关,您考虑过使用它吗?谢谢Kaido、torazaburo和RobG