Element:moveBefore() 方法

可用性有限

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

Element 介面的 moveBefore() 方法將給定的 Node 移動到呼叫節點內部,作為其直接子節點,並置於給定參考節點之前。

語法

js
moveBefore(movedNode, referenceNode)

引數

movedNode

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

referenceNode

一個 NodemovedNode 將被移動到此節點之前;或者為 null。如果值為 nullmovedNode 將插入到呼叫節點的子節點的末尾。

返回值

無(undefined)。

異常

HierarchyRequestError TypeError

在以下任何情況下丟擲:

  • 指定的 movedNode 不屬於 DOM,但你試圖將其移動到屬於 DOM 的節點內部,反之亦然。
  • 指定的 movedNode 是正在呼叫 moveBefore() 的 Element 的祖先。
  • 你試圖在兩個不同的文件之間移動 movedNode
  • 指定的 movedNode 不是 ElementCharacterData 節點。
NotFoundError TypeError

指定的 referenceNode 不是你正在呼叫 moveBefore() 的節點的子節點,即你試圖將 movedNode 移動到的節點。

TypeError TypeError

未提供第二個引數。

描述

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

嘗試點選