XML DOM firstChild Property
Element Object
Example
The following code fragment loads "books.xml" into xmlDoc and gets the first child node:
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
myFunction(xhttp);
}
};
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;
}
The output of the code above will be:
title = Everyday Italian
author = Giada De Laurentiis
year = 2005
price = 30.00
Try it Yourself »
Definition and Usage
The firstChild property returns the first child node of the selected element
If the selected node has no children, this property returns NULL.
Syntax
elementNode.firstChild
Tips and Notes
Note: Firefox, and most other browsers, will treat empty white-spaces or new lines as text nodes, Internet Explorer will not. So, in the example below, we have a function that checks the node type of the first child node.
Element nodes has a nodeType of 1, so if the first child node is not an element node, it moves to the next node, and checks if this node is an element node. This continues until the first child node (which must be an element node) is found. This way, the result will be correct in all browsers.
Tip: To read more about the differences between browsers, visit our DOM Browsers chapter in our XML DOM Tutorial.
Element Object