javascript - 如何使用javascript获取选定的html文本?

标签 javascript getselection

<分区>

我可以使用下面的代码来获取选定的文本:

text=window.getSelection();///对于火狐 text=document.selection.createRange().text;///适用于 IE

但是我怎样才能得到选中的 Html,其中包括 text 和 html 标签呢?

最佳答案

这是一个函数,可以让您获得与所有主流浏览器中的当前选择相对应的 HTML。它还处理一个选择中的多个范围(目前仅在 Firefox 中实现):

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;
}

alert(getSelectionHtml());

关于javascript - 如何使用javascript获取选定的html文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5643635/

相关文章:

javascript - 如何在单个 Canvas 中旋转裁剪后的图像

javascript - 点击播放视频的功能在平板电脑上不工作

JavaScript/jQuery : get selection function not working in Firefox and Chrome

javascript - 从选定的谷歌图表 PieChart 切片中获取数据

Javascript:如何从多行内容可编辑div的开头获取插入符偏移量

javascript - Fancybox画廊弹出问题

javascript - 滚动到顶部或底部后的简单效果

javascript - 如何使动态导入与 Jest 一起使用?

javascript - window.getSelection 在 Chrome 上返回 null

javascript - window.getSelection() 的值在回调期间发生变化