how to check if a tag exists using javascript without getting an error

VoltzRoad picture VoltzRoad · Dec 24, 2012 · Viewed 24.5k times · Source

I have xml data with root "clients" and it can contains multiple elements of "client" inside it. sometimes there are no client elements that are returned in the XML file (this is ok). I need to determine if there are any client elements returned so i tried using:

if(typeof myfile.getElementsByTagName("client")){
  alert("no clients");
}

This does the intended job, but I get a firebug error whenever there are no "client" elements.

Answer

Travis J picture Travis J · Dec 24, 2012

Why not just check for the length of the NodeList?

if( myfile.getElementsByTagName("client").length == 0 )
{
 alert("no clients");
}

Add this to check if myfile has been defined

if( typeof myfile == "undefined" || myfile.getElementsByTagName("client").length == 0 )
{
 alert("no clients");
}