Highlight: forEach() method
Baseline
2025
Newly available
Since June 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
The forEach() method of the Highlight interface executes a provided function once for each Range object in the Highlight object, in insertion order.
Highlight is a Set-like object, so this is similar to using Set.forEach().
Syntax
forEach(callbackFn)
forEach(callbackFn, thisArg)
Parameters
callback-
Function to execute for each
Rangeobject, taking three arguments:range,key-
The current
Rangeobject being processed in theHighlight. As there are no keys inHighlight, therangeis passed for both arguments. highlight-
The
Highlightobject whichforEach()was called upon.
thisArg-
Value to use as
thiswhen executingcallbackFn.
Return value
None (undefined).
Examples
The code snippet below shows how create a new highlight with two ranges, and then log the ranges by using the forEach() method:
function logRanges(range, key, highlight) {
console.log(`Highlight object ${highlight} contains range ${range}`);
}
const text = new Text("Time is an illusion. Lunchtime doubly so.");
const range1 = document.createRange();
range1.setStart(text, 0);
range1.setEnd(text, 4);
const range2 = document.createRange();
range2.setStart(text, 21);
range2.setEnd(text, 30);
const myHighlight = new Highlight();
myHighlight.add(range1);
myHighlight.add(range2);
myHighlight.forEach(logRanges);
Specifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-set.prototype.foreach> |
Browser compatibility
Loading…