DOM - Metodo dell'oggetto nodo - insertBefore

Il metodo insertBefore inserisce un nuovo nodo come figlio di questo nodo, direttamente prima di un figlio esistente di questo nodo. Restituisce il nodo che si sta inserendo.

Sintassi

Di seguito è riportata la sintassi per l'utilizzo del metodo insertBefore .

nodeObject.insertBefore(Node newChild, Node refChild)

S.No. Parametro e descrizione
1

newChild

È il nuovo nodo da aggiungere. È di tipo Node .

2

refChild

Viene utilizzato come nodo di riferimento prima del quale viene aggiunto un nuovo nodo. È di tipo Node .

Questo metodo restituisce il nodo inserito.

Esempio

I contenuti di node.xml sono i seguenti:

<?xml version = "1.0"?>
<Company>
   <Employee category = "Technical">
      <FirstName>Tanmay</FirstName>
      <LastName>Patil</LastName>
      <ContactNo>1234567890</ContactNo>
      <Email>[email protected]</Email>
   </Employee>
   
   <Employee category = "Non-Technical">
      <FirstName>Taniya</FirstName>
      <LastName>Mishra</LastName>
      <ContactNo>1234667898</ContactNo>
      <Email>[email protected]</Email>
   </Employee>
   
   <Employee category = "Management">
      <FirstName>Tanisha</FirstName>
      <LastName>Sharma</LastName>
      <ContactNo>1234562350</ContactNo>
      <Email>[email protected]</Email>
   </Employee>
</Company>

L'esempio seguente mostra l'utilizzo del metodo insertBefore :

<!DOCTYPE html>
<html>
   <head>
      <script>
         function loadXMLDoc(filename) {
            if (window.XMLHttpRequest) {
               xhttp = new XMLHttpRequest();
            }
            else // code for IE5 and IE6 {
               xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhttp.open("GET",filename,false);
            xhttp.send();
            return xhttp.responseXML;
         }
      </script>
   </head>
   <body>
      <script>
         xmlDoc = loadXMLDoc("/dom/node.xml");

         create_e = xmlDoc.createElement("Email");

         f1 = xmlDoc.documentElement;
         f2 = xmlDoc.getElementsByTagName("Email");

         document.write("No of Email elements before insert operation: " + f2.length);
         document.write(" <br>");
         f1.insertBefore(create_e,f2[3]);

         f2 = xmlDoc.getElementsByTagName("Email");
         document.write("No of Email elements after insert operation: " + f2.length);
      </script>
   </body>
</html>

Esecuzione

Salva questo file come nodemethod_insertbefore.htm nel percorso del server (questo file e node.xml dovrebbero trovarsi sullo stesso percorso nel tuo server). Otterremo l'output come mostrato di seguito -

No of Email elements before insert operation: 3
No of Email elements after insert operation: 4