Получить позиции выделенного текста в div contenteditable

Второй день парюсь. Решил задать вопрос здесь.

Есть:

<div contenteditabled="true" class="editor">text, my text. Get selected text, please help me to get position of selected text</div>

На jquery пытаюсь найти позиции (начало и конец) выделенного текста. Перепробовал несколько функций из Гугла, но нормальной не нашел.

Как получить позиции? Нужно для того, чтобы обернуть выделенный текст в тег <b>...</b>


Ответы (1 шт):

Автор решения: Michael Miller
function changeSelected(){
if (window.getSelection() == '') {
return false;
}
var range = window.getSelection().getRangeAt(0);
var selectionContents = range.extractContents();
var span = document.createElement("span");
span.appendChild(selectionContents);
span.setAttribute("class", "selected");
span.style.backgroundColor = "yellow";
span.style.color = "green";
range.insertNode(span);
}

Правда, не знаю стоит ли добавить document.selection?

→ Ссылка