Set Caret pre Redactor

by jrweinb

HTML

<div id="editable" contenteditable="true">text text text
    <br>text text text
    <br>
    <div id="img1">
        <img src="http://lorempixel.com/400/200/sports/1/" />
    </div>text text text
    <br>
</div>
<button id="button" onclick="setCaret()">focus</button>
<div id="debugs"></div>

JavaScript

function setCaret() {
    var el = document.getElementById("editable");
    var $debug_el = document.getElementById("debugs");
    var range = document.createRange();
    var sel = window.getSelection();
    var child_length = el.childNodes.length;
    range.setStart(el.childNodes[2], 14);
    range.collapse(true);
    sel.removeAllRanges();
    sel.addRange(range);
    el.focus();
    console.log(child_length);
    console.log("------------");
    //console.log(el.childNodes[6]);
    for (var i = 0; i < child_length; i++) {
        //console.log(el.childNodes[i].nodeType);
        if (el.childNodes[i].nodeType === 3) {
            //console.log("aa");
            var mo = el.childNodes[i];
            console.log($(mo));
        }
    }
}