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; } }
借用这个答案 。