相关疑难解决方法(0)

如何用javascript选择html文本?

我可以使用以下代码来获取所选文本:

text=window.getSelection(); /// for Firefox text=document.selection.createRange().text; /// for IE

但是如何获得所选的Html,其中包括text和html标签?

javascript getselection

37
推荐指数
3
解决办法
7万
查看次数

如何获取包含当前选择的DOM元素?

您可以使用鼠标选择网页的一部分.

我知道我可以获取当前选定的文本,但是如何获取包含当前选择的开头或结尾的DOM元素?

html javascript dom selection

34
推荐指数
2
解决办法
3万
查看次数

从用户选择的文本返回HTML

我有以下非常简单的html页面:

<html>
    <head>
    <script type="text/javascript">
        function alertSelection()
        {
            var selection = window.getSelection();
            var txt = selection.toString();
            alert(txt);
        }
    </script>
    </head>
    <body>
        This is <span style="background-color:black;color:white">the</span> text.
        <div style="background-color:green;width:30px;height:30px;margin:30px"
            onmouseover="alertSelection()">
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

当我选择整个第一行并将鼠标悬停在方格上时,我会收到"这是文本"的警报.

我如何解决此问题,以便不会从警报消息中删除span标记或任何其他选定的HTML?

编辑:我正在寻找如何从中获取完整的HTML window.getSelection().警报对话框就是我试图验证代码的方式.我只关心在Safari中工作.

javascript safari webkit textselection

18
推荐指数
2
解决办法
1万
查看次数

所选文字的HTML

是否有跨浏览器方式来获取所选文本的HTML?

javascript

15
推荐指数
1
解决办法
1万
查看次数

获取除不可选元素之外的选定文本

我试图在文章中为选择的开始和结束获得字符偏移量.但是,我想在这个过程中忽略一些元素.

在我的应用程序中,服务器正在使用HTML之前JS动态注入一些元素,并且文本中的字符数在服务器和客户端之间保持一致非常重要.

我希望它会像window.getSelection()一起一样简单user-select: none;.遗憾的是,尽管文本看起来没有被选中,但它仍然包含在选择范围内.

我在下面写了一个简短的例子.我曾经写过一篇removeFromSelection没有太大成功的解决方法.也许我需要删除重叠的范围,.unselectable并用全新的范围对象手动填补空白.我觉得这应该比我做的更容易.我应该怎么做?

function findAncestorOffset(container, node, offset)
{
	if (node == container)
		return offset;
	var parent = node.parentNode;
	var syblings = parent.childNodes;
	for (var i = 0, len = syblings.length; i < len; i++)
	{
		if (syblings[i] == node)
			break;
		offset += $(syblings[i]).text().length;
	}
	return findAncestorOffset(container, parent, offset);
}

function removeFromSelection(selector, selection)
{
	$(selector).each(function(i, node){
		var range = document.createRange();
		range.selectNodeContents(node);
		selection.removeAllRanges(range);
	});
}

var onSelect = function(){
  var sel = …
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery selection

6
推荐指数
1
解决办法
204
查看次数

如何使用JavaScript获取所选文本

我有点困惑为什么这段代码不起作用!

HTML标记:

<div id="diva"><b>Score</b> some <i>goals</i></div>
<div id="soda"></div>
Run Code Online (Sandbox Code Playgroud)

JavaScript代码:

function GetSelectedText () {
if (window.getSelection) {  // all browsers, except IE before version 9
    var range = window.getSelection ();
    alert (range.toString ());
} 
else {
    if (document.selection.createRange) { // Internet Explorer
        var range = document.selection.createRange ();
        alert (range.text);
    }
}
}

var butn = document.getElementById("soda");
butn.onclick = function(){
    GetSelectedText();
}
Run Code Online (Sandbox Code Playgroud)

javascript getselection

3
推荐指数
2
解决办法
2万
查看次数

标签 统计

javascript ×6

getselection ×2

html ×2

selection ×2

css ×1

dom ×1

jquery ×1

safari ×1

textselection ×1

webkit ×1