روش 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()
方法。