在DomParser中使用hasAttribute

问题描述 投票:1回答:1

我在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不是函数。我对此消息感到困惑,因为在所有文档和参考中都提供了此功能。我想念什么吗?替代方法?

javascript node.js xml domparser
1个回答
1
投票

getElementsByTagName() 返回具有给定标签名的元素的实时HTMLCollection,您必须使用特定的index。由于hasAttribute()返回布尔值,因此您可以缩短条件:

if(x[0].hasAttribute('initvalue')){......

if(x[0].getAttribute('initvalue') == '1'){.......
© www.soinside.com 2019 - 2024. All rights reserved.