JSFiddle - React, Tailwind, and code Playground

HTML

<div id="zone">
    <span>Hello </span><strong>world</strong>!
</div>

JavaScript

function selectText ( element, textToSelect ) {
    var text  = element.textContent, 
        start = text.indexOf( textToSelect ),
        end   = start + textToSelect.length - 1,
        selection, range;
    
    element.focus();
    
    if( window.getSelection && document.createRange ) {
        range = document.createRange();
        
        range.setStart( element.firstChild, start );
        range.setEnd( element.lastChild, end );
        
        selection = window.getSelection();
        
        selection.removeAllRanges();
        selection.addRange( range );
    } else if (document.body.createTextRange) {
        range = document.body.createTextRange();
        
        range.moveToElementText( element );
        range.moveStart( 'character', start );
        range.collapse( true );
        range.moveEnd( 'character', end );
        range.select();
    }
}

selectText( document.getElementById( 'zone' ), 'world' );