JSFiddle - React, Tailwind, and code Playground

HTML

<input type="button" onclick="surroundSelection()" value="Surround">
<div contenteditable="true">One two three four</div>

JavaScript

function surroundSelection() {
    var span = document.createElement("span");
    span.style.fontWeight = "bold";
    span.style.color = "green";
    
    if (window.getSelection) {
        var sel = window.getSelection();
        if (sel.rangeCount) {
            var range = sel.getRangeAt(0).cloneRange();
            range.surroundContents(span);
            sel.removeAllRanges();
            sel.addRange(range);
        }
    }
}