我有带有根“客户端”的 xml 数据,它可以在其中包含多个“客户端”元素。有时 XML 文件中没有返回客户端元素(这没关系)。我需要确定是否返回了任何客户端元素,因此我尝试使用:
if(typeof myfile.getElementsByTagName("client")){
alert("no clients");
}
这完成了预期的工作,但只要没有“客户端”元素,我就会收到一个萤火虫错误。
我有带有根“客户端”的 xml 数据,它可以在其中包含多个“客户端”元素。有时 XML 文件中没有返回客户端元素(这没关系)。我需要确定是否返回了任何客户端元素,因此我尝试使用:
if(typeof myfile.getElementsByTagName("client")){
alert("no clients");
}
这完成了预期的工作,但只要没有“客户端”元素,我就会收到一个萤火虫错误。
为什么不只检查 NodeList 的长度?
if( myfile.getElementsByTagName("client").length == 0 )
{
alert("no clients");
}
添加此项以检查是否已定义 myfile
if( typeof myfile == "undefined" || myfile.getElementsByTagName("client").length == 0 )
{
alert("no clients");
}
尝试:
if (!myfile.getElementsByTagName("client").length) {}
// ^ falsy (0) if no elements
如果您不确定是否myfile
作为元素存在,则应首先检查:
if (typeof myfile !== 'undefined'
&& myfile.getElementsByTagName
&& myfile.getElementsByTagName("client").length) {}