Propriété lastChild du XML DOM

Définition et utilisation

La propriété lastChild retourne le dernier enfant du nœud sélectionné.

Si le nœud sélectionné n'a pas d'enfants, cette propriété retourne NULL.

Syntaxe :

elementNode.lastChild

Avis et commentaires

Remarque :Internet Explorer ignore les nœuds de texte blanc générés entre les nœuds (comme les caractères d'retorno de ligne), tandis que Mozilla ne le fait pas. Par conséquent, dans les exemples suivants, nous utilisons une fonction pour détecter le type de nœud du dernier enfant.

Le type de nœud de l'élément est 1, donc si le premier enfant n'est pas un nœud élément, il est déplacé au prochain nœud et il est vérifié si ce nœud est un nœud élément. Ce processus continue jusqu'à ce que le premier enfant soit trouvé. Cette méthode garantit que les résultats sont corrects dans Internet Explorer et Mozilla.

Pour plus d'informations sur les différences entre IE et les navigateurs Mozilla, veuillez consulter le tutoriel XML DOM sur CodeW3C.com Navigateur DOM dans cette section.

Exemple

Dans tous les exemples, nous utiliserons le fichier XML books.xmlet la fonction JavaScript loadXMLDoc()

Le fragment de code suivant extrait le dernier enfant de "books.xml":

//vérifier si le dernier nœud est un nœud élément
function get_lastchild(n)
{
var x=n.lastChild;
while (x.nodeType!=1)
  {
  x=x.previousSibling;
  }
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.documentElement;
var lastNode=get_lastchild(x);
for (var i=0;i<lastNode.childNodes.length;i++)
{ 
if (lastNode.childNodes[i].nodeType==1)
  { 
  //Traiter uniquement les noeuds élément
  document.write(lastNode.childNodes[i].nodeName);
  document.write(" = ");
  document.write(lastNode.childNodes[i].childNodes[0].nodeValue);
  document.write("<br />");
  } 
}

La sortie du code ci-dessus :

title = Learning XML
author = Erik T. Ray
year = 2003
price = 39.95