当前位置: 首页 > 网络学院 > XML相关教程 > XML DOM > replaceChild() 方法

XML DOM
DOM Attribute
DOM Text
DOM CDATA
DOM Comment
DOM HttpRequest
DOM ParseError
DOM 校验器
DOM 介绍
DOM 摘要
DOM 案例
DOM 节点树
DOM 访问节点树
DOM 节点信息
DOM 文档执行
DOM 节点导航

XML DOM 中的 replaceChild() 方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-03-04   浏览: 390 ::
收藏到网摘: n/a

Definition and Usage
定义和用法

The replaceChild() method replaces a child node with another.
replaceChild()方法的作用是:用另一个节点替换一个子节点。

This method returns the replaced node on success, or NULL on failure.
如果函数执行成功,将返回替换的节点;如果执行失败,将返回null[空值]。

Syntax
语法

nodeObject.replaceChild(new_node,old_node)

Parameter
参数
Description
描述
new_node Required. Specifies the new node
必要参数。指定新的节点
old_node Required. Specifies the node to be replaced
必要参数。指定需要替换的子节点
 

Tips and Notes
提示和注意点

Note: Internet Explorer will skip white-space text nodes that are generated between nodes (e.g. new-line characters), while Mozilla will not. So, in the example below, we have a function that checks the node type of the first child node.
注意:IE将跳过在节点之间产生的空格文档节点(如:换行字符),而Mozilla不会这样。在下面的案例中,我们将创建一个用于获取正确第一个子元素节点类型的函数。

Element nodes has a nodeType of 1, so if the first child node is not an element node, it moves to the next node, and checks if this node is an element node. This continues until the first child node (which must be an element node) is found. This way, the result will be correct in both Internet Explorer and Mozilla.
元素节点包含的节点类行为1,因此,如果第一个节点不是元素节点,那么它将自动移动到下一个节点并检测该节点是否是一个元素节点;这样的过程将一直持续下去直到发现的第一个子节点是元素节点为止。通过使用这个方法,在IE浏览器或Mozilla浏览器中显示的结果就会同时正确。

Tip: To read more about the XML DOM differences between IE and Mozilla browsers, visit our Mozilla vs. IE chapter.
提示:如果你想获取更多关于XML DOM在IE和Mozilla浏览器中的不同,那你可以访问“Mozilla vs. IE ”这章。


In all examples, we will use the XML file books.xml, and the JavaScript function loadXMLDoc().
在所有案例中,我们将使用“book.xml”文件以及JavaScript 函数“loadXMLDoc()”。

Example
案例

The following code fragment replaces the <title> element in the first <book> element:
下面的代码片断替换了第一个<book>元素中的第一个<title>元素:

//check if first child node is an element node
function get_firstchild(n)
{
var x=n.firstChild;
while (x.nodeType!=1) { x=x.nextSibling; }
return x;
}
xmlDoc=loadXMLDoc("books.xml");
//create a title element and a text node
var newNode=xmlDoc.createElement("title");
var newText=xmlDoc.createTextNode("Giada's Family Dinners");
//add the text node to the title node,
newNode.appendChild(newText);
//replace the first child node with the new node
var x=xmlDoc.getElementsByTagName("book")[0];
x.replaceChild(newNode,get_firstchild(x));
//output all titles
var y=xmlDoc.getElementsByTagName("title");
for (i=0;i<y.length;i++) { document.write(y[i].childNodes[0].nodeValue); document.write("<br />"); }

Output:
输出结果:

Giada's Family Dinners
Harry Potter
XQuery Kick Start
Learning XML


Try-It-Yourself Demos
自我演示

replaceChild() - Replace an element node
replaceChild() - 替换一个元素节点

评论 (0) All

登陆 | 还没注册?