طريقة replaceChild() لـ XML DOM

التعريف والاستخدام

replaceChild() يستخدم هذا الطريقة لاستبدال العقدة بالعقدة الجديدة.

يمكن أن يكون العقدة الجديدة عقدة موجودة في المستند، أو يمكن إنشاؤها جديدة.

نصيحة:يمكن إدراج العقدة التي تم استبدالها في أي عنصر في نفس المستند لاحقا. استخدم طريقة insertBefore() أو appendChild() لاحقا لإدراجها في نفس المستند، أو استخدم طريقة adoptNode() أو importNode() لإدراج العقدة في مستند آخر.

النحو

nodeObject.replaceChild(newchild,oldchild)

الم参数

الم参数 الوصف
newchild مطلوب. جسم العقدة. العقدة الجديدة التي سيتم إضافتها إلى قائمة الأبناء.
oldchild مطلوب. جسم العقدة. العقدة التي سيتم استبدالها في قائمة الأبناء.

تفاصيل التقنية

إصدار DOM: مستوى الجذر 1 لجسم العقدة. تم تعديله في مستوى DOM 3.
} Node 对象.被换换的节点(旧child).返回值:

实例

以下的代码将 "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;
}

جرب بنفسك

دعم المتصفحات

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
الدعم الدعم الدعم الدعم الدعم

كل المتصفحات الرئيسية تدعم replaceChild() الطريقة.