روش replaceChild() XML DOM

تعریف و استفاده

replaceChild() این روش از نود جدید برای جایگزینی نود فرزند استفاده می‌کند.

نود جدید می‌تواند یک نود موجود در مستند باشد یا می‌تواند یک نود جدید ایجاد شود.

توضیحات:نود مورد نظر می‌تواند در هر عنصر دیگر در همان مستند قرار گیرد. برای قرار دادن آن در همان مستند، از روش‌های insertBefore() یا appendChild() استفاده کنید، یا برای قرار دادن در مستند دیگر از روش‌های adoptNode() یا importNode() استفاده کنید.

شرح دستور

nodeObject.replaceChild(newchild,oldchild)

پارامترها

پارامترها توضیحات
newchild ضروری. شیء Node. نود جدیدی که باید در لیست فرزندان قرار گیرد.
oldchild ضروری. شیء Node. نود مورد نظر در لیست فرزندان که باید جایگزین شود.

جزئیات فنی

نسخه DOM: Core Level 1 Node Object. در DOM Level 3 تغییر داده شده است.
نتیجه‌گیری:} عنصر Node. گره‌ای که جایگزین شده است (oldchild).

مثال

کد زیر "books.xml" را به xmlDoc بارگذاری کرده و اولین علامت <book> را جایگزین می‌کند:

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
   اگر (this.readyState == 4 && this.status == 200) {
       myFunction(this);
   }
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
function myFunction(xml) {
    واردات 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");
    // همه عنوان‌ها را خروجی دهید
    برای (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() 方法。