Skip to main content

Highlight

Highlights list of keywords in the selected nodes and descendant contents.

How to enable .highlight() module?

Modular javascript

If you are using the whole DoMini import, then no further actions are required.

import DoMini from domini;

For individual imports, make sure that the highlight module is loaded:

import "domini/dist/domini-core";
import "domini/dist/domini-highlight";

Via CDN

If you are using the whole DoMini script, nothing else is required:

<script src="https://unpkg.com/domini@latest/dist/domini.js"></script>

For individual files, make sure the highlight file is included:

<script src="https://unpkg.com/domini@latest/dist/domini-core.js"></script>
<script src="https://unpkg.com/domini@latest/dist/domini-highlight.js"></script>

.highlight() method

.highlight(Array words, Object options)

Wraps the keywords found with a span element and adss the highlight class to them.

Usage

// Highlights word1 and word2 in every paragraph
$('p').highlight(['word1', 'word2']);

Custom options

// Highlights word1 and word2 in every paragraph, case sensitive, whole words only
// .. also applies a custom class
$('p').highlight(['word1', 'word2'], {
className: 'myHighlight',
element: 'span',
caseSensitive: true,
wordsOnly: true,
excludeParents: '.excludeThis'
});

Default options

var defaultOptions = {
className: 'highlight',
element: 'span',
caseSensitive: false,
wordsOnly: false,
excludeParents: '.excludeFromHighlight'
};
info

Styling is not added, you can use your own custom CSS, for example:

span.highlight {
color: red;
}

.unHighlight() method

.unHighlight(Object options)

Unhighlights previously highlighted elements matching the options.

Usage

// Unhighlights everything previously highlighted (with default options)
$('p').unHighlight();

Custom options

// Unhighlights everything previously highlighted with custom options
$('p').unHighlight({
className: 'myHighlight',
element: 'span'
});

Default options

var defaultOptions = {
className: 'highlight',
element: 'span'
};