Range: setEnd() method
The Range.setEnd()
method sets the end position of a Range
to be located at the given offset into the specified node x.Setting
the end point above (higher in the document) than the start point will result in a
collapsed range with the start and end points both set to the specified end position.
Syntax
js
setEnd(endNode, endOffset)
Parameters
Return value
None (undefined
).
Exceptions
InvalidNodeTypeError
DOMException
-
The node specified by
endNode
is a doctype node; range endpoints cannot be located inside a doctype node. IndexSizeError
DOMException
-
The value specified by
endOffset
is either greater than or equal to the length of the node or is less than zero.
Usage notes
If the endNode
is a Node
of type Text
,
Comment
, or CDataSection
, then endOffset
is
the number of characters from the start of endNode
. For other
Node
types, endOffset
is the number of child nodes between
the start of the endNode
.
Examples
js
const range = document.createRange();
const endNode = document.getElementsByTagName("p").item(3);
const endOffset = endNode.childNodes.length;
range.setEnd(endNode, endOffset);
Note: setEnd()
is commonly used in conjunction with
setStart()
to fully configure a range.
Specifications
Specification |
---|
DOM Standard # dom-range-setend |
Browser compatibility
BCD tables only load in the browser