THE WORLD'S LARGEST WEB DEVELOPER SITE
HTMLCSSJAVASCRIPTSQLPHPBOOTSTRAPJQUERYANGULARXML
 

XML DOM lastChild Property


Element Object Reference Element Object

Example

The following code fragment loads "books.xml" into xmlDoc and gets the last 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 last node is an element node
function get_lastchild(n) {
    var x = n.lastChild;
    while (x.nodeType != 1) {
        x = x.previousSibling;
    }
    return x;
}

function myFunction(xml) {
    var x, i, txt, firstNode, xmlDoc;
    xmlDoc = xml.responseXML;
    x = xmlDoc.documentElement;
    txt = "";
    firstNode = get_lastchild(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 = Learning XML
author = Erik T. Ray
year = 2003
price = 39.95
Try it Yourself »

Definition and Usage

The lastChild property returns the last child node of the selected element

If the selected node has no children, this property returns NULL.

Syntax

elementNode.lastChild

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 last child node.

Element nodes has a nodeType of 1, so if the last child node is not an element node, it moves to the previous node, and checks if this node is an element node. This continues until the last 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 Reference Element Object