Atributo lastChild del XML DOM
definición y uso
último hijo
Esta propiedad devuelve el último hijo del elemento seleccionado.
Si el nodo seleccionado no tiene hijos, esta propiedad devuelve NULL.
Sintaxis
elementNode.lastChild
Nota:Firefox y la mayoría de los otros navegadores consideran los espacios en blanco o saltos de línea como nodos de texto, mientras que Internet Explorer no. Por lo tanto, en el siguiente ejemplo, utilizamos una función para verificar el tipo de nodo del último hijo.
El nodeType de los nodos de elemento es 1, por lo que si el último hijo no es un nodo de elemento, se mueve al nodo anterior y se verifica si ese nodo es un nodo de elemento. Esto continuará hasta encontrar el último hijo (debe ser un nodo de elemento). De esta manera, el resultado es correcto en todos los navegadores.
Consejo:Para obtener más información sobre las diferencias entre navegadores, visite la sección DOM Navegadores del tutorial XML DOM.
Ejemplo
El siguiente código carga "books.xml" en xmlDoc y obtiene el último hijo:var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); // Verificar si el último nodo es un nodo de elemento 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) { // Solo se procesan los nodos de elemento txt += firstNode.childNodes[i].nodeName +"}}" " = " + firstNode.childNodes[i].childNodes[0].nodeValue + "<br>"; } } document.getElementById("demo").innerHTML = txt; }