XML DOM firstChild-egenskab

Definition og brug

firstChild-egenskaben returnerer den første undernode for den valgte node.

Hvis den valgte node ikke har nogen undernoder, returnerer denne egenskab NULL.

Syntaks:

elementNode.firstChild

Vedvarende og kommentarer

Kommentar:Internet Explorer ignorerer de tomme tekstknuder, der genereres mellem noder (f.eks. linjeskiftscharacter), mens Mozilla ikke gør det. Derfor bruger vi en funktion til at tjekke nodetypen for den første undernode i de følgende eksempler.

Elementknudens nodetype er 1, så hvis den første undernode ikke er en elementnode, bevæges der til den næste node, og det tjekkes, om denne node er en elementnode. Denne proces fortsætter, indtil den første undernode er fundet. Denne metode sikrer, at korrekte resultater opnås både i Internet Explorer og Mozilla.

For mere information om forskelle mellem IE og Mozilla-browsere, besøg CodeW3C.coms XML DOM-tutorial DOM-browser dette afsnit.

eksempel

I alle eksempler vil vi bruge XML-filen books.xmlog JavaScript-funktionen loadXMLDoc()

Følgende kodefragment henter den første undernode fra "books.xml":

//tjek om den første node er en elementnode
function get_firstchild(n)
{
var x=n.firstChild;
while (x.nodeType!=1)
  {
  x=x.nextSibling;
  }
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.documentElement;
var firstNode=get_firstchild(x);
for (var i=0;i<firstNode.childNodes.length;i++)
{ 
  if (firstNode.childNodes[i].nodeType==1)
  { 
  //Process kun element nodes
  document.write(firstNode.childNodes[i].nodeName);
  document.write(" = ");
  document.write(firstNode.childNodes[i].childNodes[0].nodeValue);
  document.write("<br />");
  } 
}

Output af ovenstående kode:

title = Everyday Italian
author = Giada De Laurentiis
year = 2005
price = 30.00