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

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 中的 insertBefore() 方法


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

Definition and Usage
定义和用法

The insertBefore() method inserts a new child node before an existing child node.
 insertBefore() 方法的作用是:在现有的子节点前插入一个新的子节点。

This method returns the new child node.
这个方法返回新的子节点。

Syntax
语法

elementNode.insertBefore(new_node,existing_node)

Parameter
参数
Description
描述
new_node Required. The node to insert
必要参数。指定需要插入的新节点
existing_node Required. The existing node. The new node is inserted before this node.
必要参数。指定现有节点。新节点就是插在这个节点之前


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 last child node.
注意:IE将跳过在节点之间产生的空格文档节点(如:换行字符),而Mozilla不会这样。在下面的案例中,我们将书写一个用于检测最后一个子节点的节点类型的函数。

Element nodes has a nodeType of 1, so if the last child node is not an element node, it moves to the previous node, and checks if this node is an element node. This continues until the last 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().
在所有案例中,我们将使用“books.xml”文件以及JavaScript 函数“loadXMLDoc()”。

Example
案例

The following code fragment creates a new <book> node and inserts it before the last <book> element in the document:
下面的代码片断创建了一个全新的<book>节点并将其插入文档中最后的<book>元素之前:

//check if the last childnode is an element node
function get_lastchild(n)
{
var x=n.lastChild;
while (x.nodeType!=1)
{
x=x.previousSibling;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var newNode=xmlDoc.createElement("book");
var newTitle=xmlDoc.createElement("title");
var newText=xmlDoc.createTextNode("A Notebook");
newTitle.appendChild(newText);
newNode.appendChild(newTitle);
xmlDoc.documentElement.insertBefore(newNode,get_lastchild(x));


Try-It-Yourself Demos
自我演示

insertBefore() - Add a node before a specific node
insertBefore() - 在一个指定的节点之前添加一个节点

insertBefore() - Add a node before a specific child node
insertBefore() - 在一个指定的子节点之前添加一个节点

评论 (0) All

登陆 | 还没注册?