XML DOM firstChild Eiendom
❮ Elementvoorwerp
Voorbeeld
Die volgende kode fragment laai " books.xml " in xmlDoc en kry die eerste kind node:
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myFunction(this);
}
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
//
Check if the first node is an element node
function get_firstchild(n) {
var x = n.firstChild;
while (x.nodeType != 1) {
x = x.nextSibling;
}
return x;
}
function myFunction(xml) {
var x, i, txt, firstNode, xmlDoc;
xmlDoc = xml.responseXML;
x = xmlDoc.documentElement;
txt = "";
firstNode = get_firstchild(x);
for (i = 0; i < firstNode.childNodes.length; i++) {
if (firstNode.childNodes[i].nodeType == 1) {
//Process only element nodes
txt += firstNode.childNodes[i].nodeName +
" = " +
firstNode.childNodes[i].childNodes[0].nodeValue + "<br>";
}
}
document.getElementById("demo").innerHTML
= txt;
}
Die afvoer van die kode hierbo sal wees:
title = Everyday Italian
author = Giada De Laurentiis
year = 2005
price = 30.00
Definisie en gebruik
Die firstChild-eienskap gee die eerste kindernodus van die geselekteerde element terug
As die geselekteerde nodus geen kinders het nie, gee hierdie eienskap NULL terug.
Sintaksis
elementNode.firstChild
Wenke en notas
Let wel: Firefox, en die meeste ander blaaiers, sal leë spasies of nuwe reëls as teksnodes hanteer, Internet Explorer sal nie. Dus, in die voorbeeld hieronder, het ons 'n funksie wat die nodustipe van die eerste kindnodus kontroleer.
Element nodusse het 'n nodeTipe van 1, so as die eerste kind node nie 'n element node is nie, skuif dit na die volgende node, en kyk of hierdie node 'n element node is. Dit gaan voort totdat die eerste kindnodus (wat 'n elementnodus moet wees) gevind word. Op hierdie manier sal die resultaat korrek wees in alle blaaiers.
Wenk: Om meer te lees oor die verskille tussen blaaiers, besoek ons DOM-blaaiers- hoofstuk in ons XML DOM-tutoriaal.
❮ Elementvoorwerp