This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The Selection.getRangeAt() method returns a range object representing one of the ranges currently selected.


range = sel.getRangeAt(index)


The zero-based index of the range to return. A negative number or a number greater than or equal to Selection.rangeCount will result in an error.

Return value

The specified Range object.


let ranges = [];

sel = window.getSelection();

for(let i = 0; i < sel.rangeCount; i++) {
 ranges[i] = sel.getRangeAt(i);
/* Each item in the ranges array is now
 * a range object representing one of the
 * ranges in the current selection */


Specification Status Comment
Selection API
The definition of 'Selection: getRangeAt()' in that specification.
Working Draft Current

Browser compatibility

BCD tables only load in the browser

See also

  • Selection, the interface it belongs to.
  • Tree Selection (for the getRangeAt() method on the nsITreeSelection interface)