<分区>
我可以使用下面的代码来获取选定的文本:
text=window.getSelection();///对于火狐
text=document.selection.createRange().text;///适用于 IE
但是我怎样才能得到选中的 Html,其中包括 text 和 html 标签呢?
<分区>
我可以使用下面的代码来获取选定的文本:
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 - 如何使动态导入与 Jest 一起使用?