Range

Baseline 廣泛可用 *

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

* 此特性的某些部分可能存在不同級別的支援。

Range 介面表示文件的一部分,可以包含節點和文字節點的部分。

可以使用 Document.createRange() 方法建立 Range。也可以透過 Selection 物件的 getRangeAt() 方法或 Document 物件的 caretRangeFromPoint() 方法來獲取 Range 物件。

還有 Range() 建構函式可用。

AbstractRange Range

例項屬性

沒有繼承的屬性。

Range.collapsed 只讀

返回一個布林值,指示 Range 的開始和結束點是否在同一位置。

Range.commonAncestorContainer 只讀

返回包含 startContainerendContainer 節點的最深層 Node

Range.endContainer 只讀

返回 Range 結束所在的 Node

Range.endOffset 只讀

返回一個數字,表示 Range 在 endContainer 中的結束位置。

Range.startContainer 只讀

返回 Range 開始所在的 Node

Range.startOffset 只讀

返回一個數字,表示 Range 在 startContainer 中的開始位置。

建構函式

Range()

返回一個以全域性 Document 作為其開始和結束的 Range 物件。

例項方法

沒有繼承的方法。

Range.collapse()

將 Range 摺疊到其邊界點之一。

Range.compareBoundaryPoints()

比較 Range 的邊界點與另一個 Range。

Range.compareNode() 已棄用 非標準

返回一個常量,表示 Node 在 Range 之前、之後、內部或環繞。

Range.comparePoint()

返回 -1、0 或 1,表示該點在 Range 之前、內部或之後。

Range.cloneContents()

返回一個 DocumentFragment,其中包含 Range 節點的副本。

Range.cloneRange()

返回一個 Range 物件,其邊界點與克隆的 Range 相同。

Range.createContextualFragment()

從給定的程式碼字串建立並返回一個 DocumentFragment

Range.deleteContents()

Document 中刪除 Range 的內容。

Range.detach()

無操作。為了相容性而保留。

Range.extractContents()

將 Range 的內容從文件樹移到 DocumentFragment 中。

Range.getBoundingClientRect()

返回一個 DOMRect 物件,該物件包含 Range 的所有內容;這將是 range.getClientRects() 返回的所有矩形的並集。

Range.getClientRects()

返回一個 DOMRect 物件列表,該列表聚合了 Range 中所有元素的 Element.getClientRects() 的結果。

Range.isPointInRange()

返回一個 boolean 值,指示給定的點是否在 Range 中。

Range.insertNode()

在 Range 的開頭插入一個 Node

Range.intersectsNode()

返回一個 boolean 值,指示給定的節點是否與 Range 相交。

Range.selectNode()

將 Range 設定為包含該 Node 及其內容。

Range.selectNodeContents()

將 Range 設定為包含某個 Node 的內容。

Range.setEnd()

設定 Range 的結束位置。

Range.setStart()

設定 Range 的開始位置。

Range.setEndAfter()

相對於另一個 Node 設定 Range 的結束位置。

Range.setEndBefore()

相對於另一個 Node 設定 Range 的結束位置。

Range.setStartAfter()

相對於另一個 Node 設定 Range 的開始位置。

Range.setStartBefore()

相對於另一個 Node 設定 Range 的開始位置。

Range.surroundContents()

將 Range 的內容移動到一個新的 Node 中。

Range.toString()

返回 Range 的文字。

規範

規範
DOM
# interface-range
DOM 解析和序列化
# extensions-to-the-range-interface
CSSOM 檢視模組
# extensions-to-the-range-interface

瀏覽器相容性

另見