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 Range object that will be returned.
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.


var ranges = [];

sel = window.getSelection();

for(var 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
HTML Editing APIs
The definition of 'Selection.getRangeAt()' in that specification.
Editor's Draft Initial definition

Browser compatibility

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support Yes (Yes) (Yes) ? ? ?
Feature Android Edge Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile
Basic support ? (Yes) (Yes) 1.0 ? ? ?

See also

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

Document Tags and Contributors

 Last updated by: abbycar,