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