XML DOM replaceChild() 方法
❮ 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;
// Create a book
element, title element and a text node
newNode = xmlDoc.createElement("book");
newTitle = xmlDoc.createElement("title");
newText = xmlDoc.createTextNode("A
Notebook");
// Add a text node to the title node
newTitle.appendChild(newText);
// Add the title node to the book node
newNode.appendChild(newTitle);
y = xmlDoc.getElementsByTagName("book")[0];
// Replace the first book node with the new book node
x.replaceChild(newNode,
y);
z = xmlDoc.getElementsByTagName("title");
// Output all titles
for (i = 0; i < z.length; i++) {
txt += z[i].childNodes[0].nodeValue
+ "<br>";
}
document.getElementById("demo").innerHTML = txt;
}
上述代码的输出为:
A Notebook
Harry Potter
XQuery Kick Start
Learning XML
亲自试一试 »
定义和用法
replaceChild() 方法可将某个子节点替换为另一个。
新节点可以是文档中的现有节点,也可以创建新节点。
提示: 如替换成功,此方法可返回被替换的节点,如替换失败,则返回 NULL。Internet Explorer 会忽略节点间生成的空白文本节点(例如,换行符号),而 Mozilla 不会这样做。
浏览器支持
所有主要浏览器都支持replaceChild()方法。
语法
nodeObject.replaceChild(newchild,oldchild)
参数
参数 | 类型 | 描述 |
---|---|---|
newchild | Node object | 必需。要放入子列表中的新节点 |
oldchild | Node object | 必需。将在子列表中替换的节点 |
返回值
类型 | 描述 |
---|---|
Node object | 替换的节点(oldchild) |
技术细节
DOM 版本 | Core Level 1 Node Object. Modified in DOM Level 3 |
---|
❮ Node 节点对象