HighlightRegistry: 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 HighlightRegistry interface executes a provided function once for each Highlight object in the registry, in insertion order.

HighlightRegistry is a Map-like object, so this is similar to using Map.forEach().

Syntax

js
forEach(callbackFn)
forEach(callbackFn, thisArg)

Parameters

callback

Function to execute for each Highlight object, taking three arguments:

highlight

The current highlight.

name

The highlight name.

registry

The registry 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 logAllHighlights(highlight, name) {
  console.log(`Highlight ${name} exists in the registry`, highlight);
}

const customHighlight1 = new Highlight();
const customHighlight2 = new Highlight();
const customHighlight3 = new Highlight();

CSS.highlights.set("custom-highlight-1", customHighlight1);
CSS.highlights.set("custom-highlight-2", customHighlight2);
CSS.highlights.set("custom-highlight-3", customHighlight3);

CSS.highlights.forEach(logAllHighlights);

Specifications

Specification
ECMAScript® 2025 Language Specification
# sec-map.prototype.foreach

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
forEach

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
In development. Supported in a pre-release version.
In development. Supported in a pre-release version.
No support
No support
See implementation notes.

See also