Range
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.
The Range
interface represents a fragment of a document that can contain nodes and parts of text nodes.
A range can be created by using the Document.createRange()
method. Range objects can also be retrieved by using the getRangeAt()
method of the Selection
object or the caretRangeFromPoint()
method of the Document
object.
There also is the Range()
constructor available.
Instance properties
There are no inherited properties.
Range.collapsed
Read only-
Returns a boolean value indicating whether the range's start and end points are at the same position.
Range.commonAncestorContainer
Read only-
Returns the deepest
Node
that contains thestartContainer
andendContainer
nodes. Range.endContainer
Read only-
Returns the
Node
within which theRange
ends. Range.endOffset
Read only-
Returns a number representing where in the
endContainer
theRange
ends. Range.startContainer
Read only-
Returns the
Node
within which theRange
starts. Range.startOffset
Read only-
Returns a number representing where in the
startContainer
theRange
starts.
Constructor
Instance methods
There are no inherited methods.
Range.collapse()
-
Collapses the
Range
to one of its boundary points. Range.compareBoundaryPoints()
-
Compares the boundary points of the
Range
with anotherRange
. Range.compareNode()
Deprecated Non-standard-
Returns a constant representing whether the
Node
is before, after, inside, or surrounding the range. Range.comparePoint()
-
Returns -1, 0, or 1 indicating whether the point occurs before, inside, or after the
Range
. Range.cloneContents()
-
Returns a
DocumentFragment
copying the nodes of aRange
. Range.cloneRange()
-
Returns a
Range
object with boundary points identical to the clonedRange
. Range.createContextualFragment()
-
Returns a
DocumentFragment
created from a given string of code. Range.deleteContents()
-
Removes the contents of a
Range
from theDocument
. Range.detach()
-
Does nothing. Kept for compatibility.
Range.extractContents()
-
Moves contents of a
Range
from the document tree into aDocumentFragment
. Range.getBoundingClientRect()
-
Returns a
DOMRect
object which bounds the entire contents of theRange
; this would be the union of all the rectangles returned byrange.getClientRects()
. Range.getClientRects()
-
Returns a list of
DOMRect
objects that aggregates the results ofElement.getClientRects()
for all the elements in theRange
. Range.isPointInRange()
-
Returns a
boolean
indicating whether the given point is in theRange
. Range.insertNode()
-
Insert a
Node
at the start of aRange
. Range.intersectsNode()
-
Returns a
boolean
indicating whether the given node intersects theRange
. Range.selectNode()
-
Sets the
Range
to contain theNode
and its contents. Range.selectNodeContents()
-
Sets the
Range
to contain the contents of aNode
. Range.setEnd()
-
Sets the end position of a
Range
. Range.setStart()
-
Sets the start position of a
Range
. Range.setEndAfter()
-
Sets the end position of a
Range
relative to anotherNode
. Range.setEndBefore()
-
Sets the end position of a
Range
relative to anotherNode
. Range.setStartAfter()
-
Sets the start position of a
Range
relative to anotherNode
. Range.setStartBefore()
-
Sets the start position of a
Range
relative to anotherNode
. Range.surroundContents()
-
Moves content of a
Range
into a newNode
. Range.toString()
-
Returns the text of the
Range
.
Specifications
Specification |
---|
DOM Standard # interface-range |
DOM Parsing and Serialization # extensions-to-the-range-interface |
CSSOM View Module # extensions-to-the-range-interface |
Browser compatibility
BCD tables only load in the browser