window.getSelection返回html

时间:2011-03-07 17:18:48

标签: javascript jquery html dom execcommand

function selected() {
   var selObj = window.getSelection();
}


此函数返回网页中的选定文本。如何返回所选区域的 html 。这可能与<img><a>代码有关吗?


这是功能列表:
https://developer.mozilla.org/Special:Tags?tag=DOM&language=en

1 个答案:

答案 0 :(得分:21)

以下内容适用于所有主流浏览器,与this answer完全相同:

function getSelectionHtml() {
    var html = "";
    if (typeof window.getSelection != "undefined") {
        var sel = window.getSelection();
        if (sel.rangeCount) {
            var container = document.createElement("div");
            for (var i = 0, len = sel.rangeCount; i < len; ++i) {
                container.appendChild(sel.getRangeAt(i).cloneContents());
            }
            html = container.innerHTML;
        }
    } else if (typeof document.selection != "undefined") {
        if (document.selection.type == "Text") {
            html = document.selection.createRange().htmlText;
        }
    }
    return html;
}