JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://rawgit.com/timdown/rangy/master/lib/rangy-core.js"></script>
<script src="https://rawgit.com/timdown/rangy/master/lib/rangy-classapplier.js"></script>
<script src="https://rawgit.com/timdown/rangy/master/lib/rangy-highlighter.js"></script>
<div id="test">
    Select any part of <b>this text and</b> then click 'Run'.
</div>
<div id="test2">
    Select any part of <b>this text and</b> then click 'Run'.
</div>

<button id="execute">Run</button>

CSS

.highlight { background-color: yellow; }

JavaScript

var applier = rangy.createClassApplier("highlight");
var highlighter = rangy.createHighlighter();
highlighter.addClassApplier(applier);

document.getElementById('execute').addEventListener('click', function() {
    highlighter.removeAllHighlights();
    highlighter.highlightSelection("highlight");
});