XML DOM firstChild-eigenschap
Definitie en gebruik
De firstChild-eigenschap retourneert de eerste zoonknoop van de geselecteerde knoop.
Als de geselecteerde knoop geen zoonknopen heeft, retourneert deze eigenschap NULL.
Syntaxis:
elementNode.firstChild
Tips en opmerkingen
Opmerking:Internet Explorer negeert lege tekstknopen tussen knopen (bijvoorbeeld entertekens), terwijl Mozilla dit niet doet. Daarom gebruiken we in de volgende voorbeelden een functie om het node-type van de eerste zoonknoop te controleren.
De node-type van elementknopen is 1, dus als de eerste zoonknoop geen elementknoop is, wordt verplaatst naar de volgende knoop en wordt gecontroleerd of deze een elementknoop is. Dit proces wordt voortgezet tot de eerste zoonknoop is gevonden. Deze methode zorgt ervoor dat correcte resultaten worden verkregen in zowel Internet Explorer als Mozilla.
Voor meer informatie over de verschillen tussen IE en Mozilla-browsers, bezoek de XML DOM-tutorial op CodeW3C.com. DOM-browser in deze sectie.
voorbeeld
In alle voorbeelden gebruiken we de XML-bestand books.xmlen de JavaScript-functie loadXMLDoc().
De volgende codefragment haalt de eerste zoonknoop op uit "books.xml":
//controleer of de eerste knoop een elementknoop is
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 only element nodes
document.write(firstNode.childNodes[i].nodeName);
document.write(" = ");
document.write(firstNode.childNodes[i].childNodes[0].nodeValue);
document.write("<br />");
}
}
The output of the above code is:
title = Everyday Italian author = Giada De Laurentiis year = 2005 price = 30.00