JSFiddle - React, Tailwind, and code Playground
HTML
<div id="input" contenteditable="true">
<span contenteditable="true" id="first"></span>
</div>
<button id="button" onclick="setCaret()">focus</button>
JavaScript
function setCaret() {
var element = document.getElementById("input");
var range = document.createRange();
var node;
node = document.getElementById("first");
range.setStartAfter(node);
var sel = window.getSelection();
range.collapse(true);
sel.removeAllRanges();
sel.addRange(range);
element.focus();
}