Méthode insertBefore() de XML DOM

Manuel de référence de l'objet Node

Définition et utilisation

La méthode insertBefore() peut insérer un noeud enfant nouveau avant un noeud enfant existant.

Cette méthode peut retourner le noeud enfant nouveau.

Syntaxe :

insertBefore(newchild, refchild)
Paramètres Description
newchild Insérer un nouveau noeud
refchild Insérer un nouveau noeud avant ce noeud

Astuces et commentaires

Remarque :Internet Explorer ignore les noeuds de texte blanc générés entre les noeuds (par exemple, les caractères de retour chariot), tandis que Mozilla ne le fait pas. Par conséquent, dans les exemples suivants, nous utiliserons une fonction pour vérifier le type de noeud du dernier noeud enfant.

Le type de noeud de l'élément noeud est 1, donc si le premier noeud enfant n'est pas un noeud élément, il passera au prochain noeud, puis continuera à vérifier si ce noeud est un noeud élément. Le processus continuera jusqu'à ce que le premier noeud enfant élément soit trouvé. Grâce à cette méthode, nous pouvons obtenir la méthode correcte dans Internet Explorer et Mozilla.

Astuce :Pour plus d'informations sur les différences entre XML DOM entre IE et Mozilla navigateurs, veuillez visiter notre Navigateur DOM Chapitre.

Exemple

Dans tous les exemples, nous utiliserons des fichiers XML books.xml,ainsi que les fonctions JavaScript loadXMLDoc()

Le fragment suivant peut créer un nouveau noeud <book> et l'insérer avant l'élément <book> dernier du document :

//Vérifiez si le dernier noeud enfant est un noeud élément
function get_lastchild(n)
{
var x=n.lastChild;
while (x.nodeType!=1)
{
x=x.previousSibling;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var newNode=xmlDoc.createElement("book");
var newTitle=xmlDoc.createElement("title");
var newText=xmlDoc.createTextNode("A Notebook");
newTitle.appendChild(newText);
newNode.appendChild(newTitle);
xmlDoc.documentElement.insertBefore(newNode,get_lastchild(x));

Manuel de référence de l'objet Node