طريقة XML DOM replaceChild()
تعريف والاستخدام
replaceChild()
يستبدل عقدة فرعية بعقدة أخرى.
في حالة النجاح، يعود هذا الدالة إلى العنصر المُستبدل، وفي حالة الفشل يعود NULL
.
النحو
elementNode.replaceChild(new_node,old_node)
المتغيرات | وصف |
---|---|
new_node | مطلوب. يحدد العنصر الجديد. |
old_node | مطلوب. يحدد العنصر الفرعي الذي سيتم استبداله. |
مثال
تقوم الكود التالي بتحميل ملف "books.xml" إلى xmlDoc وتبديل العنصر الأول <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 x, y, z, i, newNode, newTitle, newText, xmlDoc, txt; xmlDoc = xml.responseXML; txt = ""; x = xmlDoc.documentElement; // يتم إنشاء عنصر "book" وعنصر "title" وعقدة نصية newNode = xmlDoc.createElement("book"); newTitle = xmlDoc.createElement("title"); newText = xmlDoc.createTextNode("Hello World"); // يتم إضافة عقدة نصية إلى عقدة "title" newTitle.appendChild(newText); // يتم إضافة هذا العنصر "title" إلى العنصر "book" newNode.appendChild(newTitle); y = xmlDoc.getElementsByTagName("book")[0]; // يُستخدم هذا العنصر الجديد "book" لتبديل العنصر الأول "book" x.replaceChild(newNode, y); z = xmlDoc.getElementsByTagName("title"); // 输出所有 title for (i = 0; i < z.length; i++) { txt += z[i].childNodes[0].nodeValue + "<br>"; } document.getElementById("demo").innerHTML = txt; }