文件:moveBefore() 方法

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

Document 介面的 moveBefore() 方法將給定的 Node 作為直接子節點,移動到 Document DOM 節點內部,位於給定的參考節點之前。

語法

js
moveBefore(movedNode, referenceNode)

引數

movedNode

一個 Node,表示要移動的節點。請注意,這必須是一個 ElementCharacterData 節點。

referenceNode

一個 NodemovedNode 將被移動到其之前,或為 null。如果值為 null,則 movedNode 將被插入到 Document 的子節點末尾。

返回值

無(undefined)。

異常

HierarchyRequestError TypeError

在以下任何情況下丟擲:

  • 指定的 movedNode 不屬於此文件。
  • 指定的 movedNode 不是 ElementCharacterData 節點。
  • 你正嘗試將 movedNode 移動到文件的 doctype(由 DocumentType 物件表示)之前。
NotFoundError TypeError

指定的 referenceNode 不是你呼叫 moveBefore() 的節點的子節點,也就是說,不是你嘗試將 movedNode 移動到的節點內部的子節點。

TypeError TypeError

未提供第二個引數。

描述

moveBefore() 方法將給定節點移動到 DOM 中的新位置。它提供了與 Node.insertBefore() 方法類似的功能,不同之處在於它不會先刪除再重新插入節點。這意味著節點的狀態(如果使用 insertBefore() 和類似機制移動,則會被重置)在移動後得以保留。這包括

如果你使用瀏覽器的開發者工具檢查該示例,你會注意到註釋已移動到文件末尾,在結束的 </html> 標籤之後。

規範

規範
DOM
# dom-parentnode-movebefore

瀏覽器相容性

另見