我在Nodejs脚本中使用hasAttribute函数来检查它是否存在。
var DOMParser = require('xmldom').DOMParser;
var xmlDoc = new DOMParser().parseFromString(dataRegelWerk);
var allok = false;
var x = xmlDoc.getElementsByTagName("TCafe");
if (x.length != 0)
{
//Existiert Attribute prüfen
if(x.hasAttribute('initvalue') == true){
if(x.getAttribute('initvalue') == '1'){
if(x.hasAttribute('type') == true){
if(x.getAttribute('type') == 'int'){
allok = true;
}
}
}
}
}
但是节点总是告诉我hasAttribute不是函数。我对此消息感到困惑,因为在所有文档和参考中都提供了此功能。我想念什么吗?替代方法?
getElementsByTagName()
返回具有给定标签名的元素的实时HTMLCollection,您必须使用特定的index。由于hasAttribute()
返回布尔值,因此您可以缩短条件:
if(x[0].hasAttribute('initvalue')){......
和
if(x[0].getAttribute('initvalue') == '1'){.......