XML DOM insertNode() 方法

定义和用法

insertNode() 方法在范围的开头插入一个节点。

语法:

insertNode(newNode)

参数

参数 描述
newNode 要插入文档的节点。

抛出

如果 newNode 是 Attr、Document、Entity 或 Notation 节点,该方法将抛出代码为 INVALID_NODE_TYPE_ERR 的 RangeException 异常

在下列条件下,该方法还将抛出如下代码的 DOMException 异常:

  • HIERARCHY_REQUEST_ERR - 包含范围的开始点的节点不能有子节点,它也不能有指定类型的子节点,或者 newNode 是该节点的祖先节点(或是该节点自身)。
  • NO_MODIFICATION_ALLOWED_ERR - 包含范围的开始点的节点(或它的祖先节点)是只读的。
  • WRONG_DOCUMENT_ERR - newNode 与范围所属于的文档不同。

描述

该方法将把指定的节点(和它的所有子孙节点)插入文档范围的开始点。当该方法返回时,当前范围将包括新插入的节点。如果 newNode 已经是文档的一部分,那么它将被从当前位置删除,然后重新插入范围的开始点。如果 newNodeDocumentFragment 节点,那么插入的不是它自身,而是它的子孙节点,按顺序插入范围的开始点。

如果包含当前范围的开始点的节点是 Text 节点,那么在发生插入操作前,它将被分割成两个相邻的节点。如果 newNode 是 Text 节点,在插入文档后,它不会与任何相邻的 Text 节点合并。要合并相邻的节点,需要调用 Node.normalize() 方法。

参阅

DocumentFragment 对象Node.normalize()