Selection: addRange() method
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 Selection.addRange()
method adds a
Range
to a Selection
.
Syntax
js
addRange(range)
Parameters
Return value
None (undefined
).
Examples
Note: Currently only Firefox supports multiple selection ranges, other browsers will not add new ranges to the selection if it already contains one.
HTML
html
<p>
I <strong>insist</strong> that you <strong>try</strong> selecting the
<strong>strong words</strong>.
</p>
<button>Select strong words</button>
JavaScript
js
let button = document.querySelector("button");
button.addEventListener("click", () => {
const selection = window.getSelection();
const strongElems = document.getElementsByTagName("strong");
if (selection.rangeCount > 0) {
selection.removeAllRanges();
}
for (const node of strongElems) {
const range = document.createRange();
range.selectNode(node);
selection.addRange(range);
}
});
Result
Specifications
Specification |
---|
Selection API> # dom-selection-addrange> |
Browser compatibility
Loading…
See also
Selection
, the interface this method belongs to