W3cubDocs

/Web APIs

Highlight: forEach() method

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

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

js

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 the Highlight. As there are no keys in Highlight, the range is passed for both arguments.

highlight

The Highlight object which forEach() was called upon.

thisArg

Value to use as this when executing callbackFn.

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:

js

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

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
forEach 105 105 preview No 91 No 105 105 No 72 No 20.0

See also

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Highlight/forEach