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");
});