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 已经是文档的一部分,那么它将被从当前位置删除,然后重新插入范围的开始点。如果 newNode 是 DocumentFragment 节点,那么插入的不是它自身,而是它的子孙节点,按顺序插入范围的开始点。
如果包含当前范围的开始点的节点是 Text 节点,那么在发生插入操作前,它将被分割成两个相邻的节点。如果 newNode 是 Text 节点,在插入文档后,它不会与任何相邻的 Text 节点合并。要合并相邻的节点,需要调用 Node.normalize() 方法。