function getHtml(win){
if (win.getSelection) {
var range=win.getSelection().getRangeAt(0);
var container = win.document.createElement('div');
container.appendChild(range.cloneContents());
return container.innerHTML;
}
else if (win.document.getSelection) {
var range=win.getSelection().getRangeAt(0);
var container = win.document.createElement('div');
container.appendChild(range.cloneContents());
return container.innerHTML;
}
else if (win.document.selection) {
return win.document.selection.createRange().htmlText;
}
}
这段代码有时可以获取到带样式的html,但有时获取的却是纯文本,不知道是什么原因,我想精确地获取选中的html,不知道该如何获取?
你选中了文本,这个时候可以找到文本的父元素,这样就可以得到这个元素的html了。如果有多个兄弟节点需要去除。
这样不行的,呵呵,比如<li>222<font size=7>1111111111111</font></li>,如果我只选中了三个一的话,那父节点该算到什么时候停呢?感觉不是很精确,不知道有没有更好的办法,呵呵