Método insertBefore() del XML DOM

Definición y uso

insertBefore() El método inserta un nuevo subnodo antes del subnodo especificado del nodo actual.

Nota:Si newchild ya está en el árbol, se elimina primero.

Sintaxis

nodeObject.insertBefore(newchild,existingnode,

)

) Descripción
newchild Obligatorio. Objeto Node. Nuevo subnodo a insertar.
existingnode

Obligatorio. Objeto Node. Nodo en el que se insertará el nuevo subnodo.

Si el nodo existente está vacío, se inserta el nuevo subnodo al final de la lista de subnodos.

Detalles técnicos

Versión de DOM: Objeto de Nivel de Núcleo 1. Modificado en DOM Level 3.
Valor devuelto: Objeto Node. Nodo insertado.

Ejemplo

El siguiente código carga "books.xml", crea un nuevo nodo <book> y lo inserta antes del último nodo <book>:

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
   if (this.readyState == 4 && this.status == 200) {
       myFunction(this);
   }
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
function myFunction(xml) {
    var xmlDoc = xml.responseXML;
    var newNode = xmlDoc.createElement("book");
    var x = xmlDoc.documentElement;
    var y = xmlDoc.getElementsByTagName("book");
    document.getElementById("demo").innerHTML =
    "Elementos de libro antes: " + y.length + "<br>";
    x.insertBefore(newNode, y[3]);
    document.getElementById("demo").innerHTML +==
    "Elementos de libro después: " + y.length;
}

Prueba personalmente

Compatibilidad del navegador

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
Soporte Soporte Soporte Soporte Soporte

Todos los navegadores principales lo soportan insertBefore() Métodos.