如何处理Cannot read 属性 'getAttribute' of undefined?
How handle Cannot read property 'getAttribute' of undefined?
如何处理错误 Cannot read 属性 'getAttribute' of undefined。我正在使用 DOMParser
获取 xml 标签的 type
属性。这个 xml 标签有时可以是 FirstTag
,有时可以是 SecondTag
。我实现了这个与 FirstTag
一起工作的很好,但是什么时候 SecondTag
错误显示在控制台中。
var parser = new DOMParser();
var content = '<root>' + content + '</root>';
xmlDoc = parser.parseFromString(content, "text/xml");
if( xmlDoc.getElementsByTagName("FirstTag")[0] == 'undefined' ){
var element = xmlDoc.getElementsByTagName("SecondTag")[0];
var type = element.getAttribute("type");
}else {
var element = xmlDoc.getElementsByTagName("FirstTag")[0];
var type = element.getAttribute("type");
}
最好使用xmlDoc.getElementsByTagName("FirstTag").length
而不是未定义的检查
var parser = new DOMParser();
var content1 = '<root><FirstTag type="something" /></root>';
var content2 = '<root><SecondTag type="something" /></root>';
xmlDoc = parser.parseFromString(content2, "text/xml");
if( xmlDoc.getElementsByTagName("FirstTag").length == 0 ){
var element = xmlDoc.getElementsByTagName("SecondTag")[0];
var type = element.getAttribute("type");
}else {
var element = xmlDoc.getElementsByTagName("FirstTag")[0];
var type = element.getAttribute("type");
}
如何处理错误 Cannot read 属性 'getAttribute' of undefined。我正在使用 DOMParser
获取 xml 标签的 type
属性。这个 xml 标签有时可以是 FirstTag
,有时可以是 SecondTag
。我实现了这个与 FirstTag
一起工作的很好,但是什么时候 SecondTag
错误显示在控制台中。
var parser = new DOMParser();
var content = '<root>' + content + '</root>';
xmlDoc = parser.parseFromString(content, "text/xml");
if( xmlDoc.getElementsByTagName("FirstTag")[0] == 'undefined' ){
var element = xmlDoc.getElementsByTagName("SecondTag")[0];
var type = element.getAttribute("type");
}else {
var element = xmlDoc.getElementsByTagName("FirstTag")[0];
var type = element.getAttribute("type");
}
最好使用xmlDoc.getElementsByTagName("FirstTag").length
而不是未定义的检查
var parser = new DOMParser();
var content1 = '<root><FirstTag type="something" /></root>';
var content2 = '<root><SecondTag type="something" /></root>';
xmlDoc = parser.parseFromString(content2, "text/xml");
if( xmlDoc.getElementsByTagName("FirstTag").length == 0 ){
var element = xmlDoc.getElementsByTagName("SecondTag")[0];
var type = element.getAttribute("type");
}else {
var element = xmlDoc.getElementsByTagName("FirstTag")[0];
var type = element.getAttribute("type");
}