XML DOM insertNode() 方法
定義和用法
insertNode() 方法在范圍的開頭插入一個節(jié)點(diǎn)。
語法:
insertNode(newNode)
參數(shù)
參數(shù) | 描述 |
---|---|
newNode | 要插入文檔的節(jié)點(diǎn)。 |
拋出
如果 newNode 是 Attr、Document、Entity 或 Notation 節(jié)點(diǎn),該方法將拋出代碼為 INVALID_NODE_TYPE_ERR 的 RangeException 異常。
在下列條件下,該方法還將拋出如下代碼的 DOMException 異常:
- HIERARCHY_REQUEST_ERR - 包含范圍的開始點(diǎn)的節(jié)點(diǎn)不能有子節(jié)點(diǎn),它也不能有指定類型的子節(jié)點(diǎn),或者 newNode 是該節(jié)點(diǎn)的祖先節(jié)點(diǎn)(或是該節(jié)點(diǎn)自身)。
- NO_MODIFICATION_ALLOWED_ERR - 包含范圍的開始點(diǎn)的節(jié)點(diǎn)(或它的祖先節(jié)點(diǎn))是只讀的。
- WRONG_DOCUMENT_ERR - newNode 與范圍所屬于的文檔不同。
描述
該方法將把指定的節(jié)點(diǎn)(和它的所有子孫節(jié)點(diǎn))插入文檔范圍的開始點(diǎn)。當(dāng)該方法返回時,當(dāng)前范圍將包括新插入的節(jié)點(diǎn)。如果 newNode 已經(jīng)是文檔的一部分,那么它將被從當(dāng)前位置刪除,然后重新插入范圍的開始點(diǎn)。如果 newNode 是 DocumentFragment 節(jié)點(diǎn),那么插入的不是它自身,而是它的子孫節(jié)點(diǎn),按順序插入范圍的開始點(diǎn)。
如果包含當(dāng)前范圍的開始點(diǎn)的節(jié)點(diǎn)是 Text 節(jié)點(diǎn),那么在發(fā)生插入操作前,它將被分割成兩個相鄰的節(jié)點(diǎn)。如果 newNode 是 Text 節(jié)點(diǎn),在插入文檔后,它不會與任何相鄰的 Text 節(jié)點(diǎn)合并。要合并相鄰的節(jié)點(diǎn),需要調(diào)用 Node.normalize() 方法。