针对文本信息可以使用 document.execCommand( )
插入任意自定义的标签(两边必须有空格)
document.execCommand(‘insertHtml’, false, ‘nbsp;<div class=’hello’</div>nbsp;’)
1.获取鼠标划过选中的文本的值(包括文本标签)
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;
};
配合以下正则可以获取到选中的特定的标签
let reg = new RegExp("<"+tag+" [^>]*>(<"+tag+"[^>]*>.*?<\/"+tag+">|.)*?<\/"+tag+">", "g");
let wantedTag = reg.match(domStr); // arr