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 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().
forEach(callbackFn) forEach(callbackFn, thisArg)
callbackFunction to execute for each Highlight object, taking three arguments:
thisArgValue to use as this when executing callbackFn.
None (undefined).
The code snippet below shows how create a new highlight with two ranges, and then log the ranges by using the forEach() method:
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);
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
forEach |
105 | 105 | 140 | 91 | 17.2 | 105 | 140 | 72 | 17.2 | 20.0 | 105 | 17.2 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HighlightRegistry/forEach