XML DOM appendChild() μέθοδος

Εγχειρίδιο αναφοράς του αντικειμένου Node

ορισμός και χρήση

Η μέθοδος appendChild() μπορεί να προσθέσει νέο υποκόμβο στο τέλος της λίστας υποκομμάτων του κόμβου.

Αυτή η μέθοδος μπορεί να επιστρέψει τον νέο υποκόμβο.

σύνταξη:

appendChild(newchild)
παράμετρος περιγραφή
newchild ο προσθέσιμος κόμβος

επιστροφή τιμής

ο προσθέσιμος κόμβος

περιγραφή

Αυτή η μέθοδος θα προσθέσει τον κόμβο newchild στο έγγραφο, ώστε να γίνει ο τελευταίος υποκόμβος του τρέχοντος κόμβου.

Αν ο newchild υπάρχει ήδη στο δέντρο του έγγραφου, θα αφαιρεθεί από το δέντρο του έγγραφου και θα επαναπροστέθηκε στη νέα του θέση. Αν το newchild είναι κόμβος DocumentFragment, δεν θα εισαχθεί απευθείας, αλλά τα υποκίς του θα εισαχθούν σε σειρά στο τέλος του πίνακα childNodes[] του τρέχοντος κόμβου.

Λέξη για λέξη, ένας κόμβος από ένα έγγραφο (ή ένας κόμβος που δημιουργήθηκε από ένα έγγραφο) δεν μπορεί να εισαχθεί σε ένα άλλο έγγραφο. Δηλαδή, η ιδιότητα ownerDocument του newchild πρέπει να είναι η ίδια με την ιδιότητα ownerDocument του τρέχοντος κόμβου.

παράδειγμα

Η παρακάτω συνάρτηση θα προσθέσει ένα νέο παράγραφο στο τέλος του έγγραφου:

function appendMessage (message) {
  var pElement = document.createElement("p");
  var messageNode = document.createTextNode(message);
  pElement.appendChild(messageNode);
  document.body.appendChild(pElement);
}

παράδειγμα

Σε όλους τους παραδείγματα, θα χρησιμοποιήσουμε το αρχείο XML books.xmlκαι τη συνάρτηση JavaScript loadXMLDoc()

Η παρακάτω κλάση κώδικα μπορεί να δημιουργήσει και να προσθέσει ένα κόμβο στο πρώτο στοιχείο <book> και στη συνέχεια να εκτυπώσει όλους τους υποκόμβους του πρώτου στοιχείου <book>:

xmlDoc=loadXMLDoc("books.xml");
var newel=xmlDoc.createElement('έκδοση');
var newtext=xmlDoc.createTextNode('Πρώτος');
newel.appendChild(newtext);
var x=xmlDoc.getElementsByTagName('book')[0];
x.appendChild(newel);;
var y=x.childNodes;
for (var i=0;i<y.length;i++)
  { 
  //Εμφάνιση μόνο των στοιχείων στοιχείων
  if (y[i].nodeType==1)
    { 
    document.write(y[i].nodeName);
    document.write("<br />");
    } 
  }

Εκτύπωση:

title
author
year
price
edition

Αναγνώριση:Ο Internet Explorer θα αγνοήσει τους κεντικούς κόμβους που δημιουργούνται μεταξύ των κόμβων (π.χ. σύμβολα βρόχιας), ενώ το Mozilla δεν θα το κάνει αυτό. Επομένως, στην παρακάτω παράδειγμα, θα χειριστούμε μόνο τα στοιχεία στοιχείων (οι κόμβοι στοιχείων έχουν nodeType=1).

Συμβουλή:Για περισσότερες πληροφορίες σχετικά με τις διαφορές μεταξύ του XML DOM του IE και του Mozilla, επισκεφτείτε το Browser DOM Κεφάλαια.

Εγχειρίδιο αναφοράς του αντικειμένου Node