jQuery:获取div中所选文本的html源代码

我想在div中获取选择文本的HTML源并提醒它。

这是我的代码:

if (!window.x) { x = {}; } x.Selector = {}; x.Selector.getSelected = function() { var t = ''; if (window.getSelection) { t = window.getSelection(); } else if (document.getSelection) { t = document.getSelection(); } else if (document.selection) { t = document.selection.createRange().text; } return t; } $(function() { $(document).bind("mouseup", function() { var mytext = x.Selector.getSelected(); alert(mytext); }); 

资源

但那回文简单明了。

有什么办法吗?

谢谢你的帮助。

http://www.codingforums.com/showthread.php?t=154848#post762994建议如下:

 function selHTML() { if (window.ActiveXObject) { var c = document.selection.createRange(); return c.htmlText; } var nNd = document.createElement("p"); var w = getSelection().getRangeAt(0); w.surroundContents(nNd); return nNd.innerHTML; } 

谷歌很好(通常无论如何):-)

演示: http : //jsfiddle.net/rR8Sh/1/我添加了纯文本选择,以防标签未完全选择并使用span而不是p来避免添加换行符。 它仍然会添加空的 ; 我想不出办法避免这种情况。

如果我理解正确,您想获取所选节点的HTML吗? 试试这个:

 function getSelectedNode() { if (document.selection) { return document.selection.createRange().parentElement(); } else { var selection = window.getSelection(); if (selection.rangeCount > 0) return selection.getRangeAt(0).startContainer.parentNode; } } 

借用这个答案 。