JSFiddle - React, Tailwind, and code Playground
HTML
<div id="editable">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
</div>
<input type="button" value="store" id="storeDivSelection"/><br/>
<input type="button" value="overwrite html" id="overwrite"/><br/>
<input type="button" value="restore" id="restoreDivSelection"/>
CSS
#editable { height:200px; width:100%; border:1px solid #000; }
JavaScript
var divSelection;
$('#storeDivSelection').click(function(){
divSelection = window.getSelection().getRangeAt(0).cloneRange();
});
$('#restoreDivSelection').click(function(){
var sel = window.getSelection();
console.log(sel);
sel.removeAllRanges();
sel.addRange(divSelection);
});
$('#overwrite').click(function(){
$('#editable').html($('#editable').html());
});