我使用这个javascript代码来获取当前突出显示的选项.
var selection = window.getSelection()
Run Code Online (Sandbox Code Playgroud)
如果突出显示是a中的一段文本<div>,我如何从<div>突出显示的开头和突出显示的长度获得偏移量?(长度不仅仅是文本的长度,它应该是该文本的html代码的实际长度)
您可以按如下方式获取所选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)