This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The Range() constructor returns a newly created Range object whose start and end is the global Document object.
Syntax
range = new Range()
Example
In this example we create a new range with the Range() constructor, and set its beginning and end positions using the Range.setStartBefore() and Range.setEndAfter() methods. We then select the range using window.getSelection() and Selection.addRange().
HTML
<p>First paragraph.</p> <p>Second paragraph.</p> <p>Third paragraph.</p> <p>Fourth paragraph.</p>
JavaScript
const paragraphs = document.querySelectorAll('p');
// Create new range
const range = new Range();
// Start range at second paragraph
range.setStartBefore(paragraphs[1]);
// End range at third paragraph
range.setEndAfter(paragraphs[2]);
// Get window selection
const selection = window.getSelection();
// Add range to window selection
selection.addRange(range);
Result
Specification
| Specification | Status | Comment |
|---|---|---|
| DOM The definition of 'Range.Range()' in that specification. |
Living Standard | Initial definition. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
Range() constructor | Chrome Full support Yes | Edge Full support ≤18 | Firefox Full support 24 | IE No support No | Opera Full support 15 | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support 24 | Opera Android Full support 14 | Safari iOS Full support Yes | Samsung Internet Android Full support Yes |
Legend
- Full support
- Full support
- No support
- No support
- Experimental. Expect behavior to change in the future.
- Experimental. Expect behavior to change in the future.
