Highlight: forEach() method
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used 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
Range
object, taking three arguments:range
,key
-
The current
Range
object being processed in theHighlight
. As there are no keys inHighlight
, therange
is passed for both arguments. highlight
-
The
Highlight
object whichforEach()
was called upon.
thisArg
-
Value to use as
this
when 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 Language Specification # sec-set.prototype.foreach |
Browser compatibility
BCD tables only load in the browser