HTMLTextAreaElement: selectionStart property

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

The selectionStart property of the HTMLTextAreaElement interface specifies the start position of the current text selection in a <textarea> element. It is a number representing the beginning index of the selected text. It can be used to both retrieve and set the start of the index of the beginning of a <textarea>s selected text.

When nothing is selected, the value of both the selectionStart and selectionEnd is the position of the cursor (caret) inside the <textarea> element.

Setting selectionStart to a value greater then the current value of selectionEnd updates both the the selectionStart and selectionEnd properties to that value. If that value is equal to or greater than the textLength, both properties are both set to the textLength property value.

The property value can be retrieved and set without the <textarea> having focus, but the element does need to have focus for the ::selection pseudo-element to match the selected text.

Setting the selectionStart to a new value fires the selectchange and selectevents.

Value

A non-negative number.

Examples

js
const textarea = document.getElementById("text-box");
const start = textarea.selectionStart;

Specifications

Specification
HTML Standard
# dom-textarea/input-selectionstart

Browser compatibility

BCD tables only load in the browser

See also