使用javascript选择HTML文档

Ran*_*ana 1 html javascript

我使用这个javascript代码来获取当前突出显示的选项.

var selection = window.getSelection()
Run Code Online (Sandbox Code Playgroud)

如果突出显示是a中的一段文本<div>,我如何从<div>突出显示的开头和突出显示的长度获得偏移量?(长度不仅仅是文本的长度,它应该是该文本的html代码的实际长度)

Tim*_*own 5

您可以按如下方式获取所选HTML的长度:

function getSelectionHtml() {
    var sel, html = "";
    if (window.getSelection) {
        sel = window.getSelection();
        if (sel.rangeCount) {
            var frag = sel.getRangeAt(0).cloneContents();
            var el = document.createElement("div");
            el.appendChild(frag);
            html = el.innerHTML;
        }
    } else if (document.selection && document.selection.type == "Text") {
        html = document.selection.createRange().htmlText;
    }
    return html;
}

alert(getSelectionHtml().length);
Run Code Online (Sandbox Code Playgroud)