طريقة 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()
الطريقة.