Document: getSelection() method

The getSelection() method of the Document interface returns a Selection object representing the range of text selected by the user, or the current position of the caret.

Syntax

js
getSelection()

Parameters

None.

Return value

A Selection object.

Examples

Getting a Selection object

js
let selection = document.getSelection();
let selRange = selection.getRangeAt(0);
// do stuff with the range

console.log(selection); // Selection object

String representation of the Selection object

Some functions (like Window.alert()) call toString() automatically and the returned value is passed to the function. As a consequence, this will return the selected text and not the Selection object:

js
alert(selection);

However, not all functions call toString() automatically. To use a Selection object as a string, call its toString() method directly:

js
let selectedText = selection.toString();

You can call Window.getSelection(), which works identically to Document.getSelection().

It is worth noting that currently getSelection() doesn't work on the content of <input> elements in Firefox. HTMLInputElement.setSelectionRange()) could be used to work around this.

Notice also the difference between selection and focus. Document.activeElement returns the focused element.

Specifications

Specification
Selection API
# dom-document-getselection

Browser compatibility

BCD tables only load in the browser