XML DOM insertBefore() Methode

Node-Objekt-Referenzhandbuch

Definition und Verwendung

Die insertBefore() Methode kann einen neuen Unter Knoten vor einem bestehenden Unter Knoten einfügen.

Diese Methode kann das neue Unter Knoten zurückgeben.

Syntax:

insertBefore(newchild, refchild)
Parameter Beschreibung
newchild Neuen Knoten einfügen
refchild Neuen Knoten vor diesem Knoten einfügen

Hinweise und Anmerkungen

Anmerkung:Internet Explorer ignoriert die durch den Text generierten Leerzeichner zwischen Knoten (z.B. Zeilenumbruch), während Mozilla dies nicht tut. Daher verwenden wir in den folgenden Beispielen eine Funktion, um den Knotenart des letzten Unter Knotens zu überprüfen.

Der Knotenart des Elements ist 1, daher wird, wenn der erste Unter Knoten kein Elements Knoten ist, er zum nächsten Knoten verschoben und fortgesetzt wird, um zu überprüfen, ob dieser Knoten ein Elements Knoten ist. Der gesamte Prozess wird fortgesetzt, bis der erste Elements Unter Knoten gefunden wird. Mit diesem Verfahren können wir in Internet Explorer und Mozilla die richtigen Methoden erhalten.

Hinweis:Für mehr Informationen über die Unterschiede zwischen der XML-DOM von IE und Mozilla-Browser besuchen Sie unsere DOM-Browser Kapitel.

Beispiel

In allen Beispielen verwenden wir XML-Dateien books.xml,sowie JavaScript-Funktionen loadXMLDoc().

Der folgende Abschnitt kann einen neuen <book>-Knoten erstellen und diesen Knoten vor dem letzten <book>-Element im Dokument einfügen:

//Überprüfen, ob der letzte Kindknoten ein Elementknoten ist
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));

Node-Objekt-Referenzhandbuch