var range, frag, sel = window.getSelection();
if (sel.rangeCount) {
range = sel.getRangeAt(0);
frag = range.cloneContents();
}
Это даст вам DocumentFragment, содержащий выбранный контент.Вы можете пройти по потомкам фрагмента, используя обычные методы DOM.Если у вас должна быть буквальная строка HTML, вы можете сделать следующее:
var div = document.createElement("div");
div.appendChild(frag);
alert(div.innerHTML);
Обратите внимание, что эта последняя часть не будет работать, если выбранное содержимое не может быть помещено в <div>
(еслискажем, было выбрано все тело или документ).