Javascript 获取html中所选内容的位置
我需要一个html容器(也包含html)中所选文本的位置或开始和结束偏移。 例如:Javascript 获取html中所选内容的位置,javascript,jquery,Javascript,Jquery,我需要一个html容器(也包含html)中所选文本的位置或开始和结束偏移。 例如: <span id="text-for-selection"> <h1>Heading</h1> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor.</p> <p>Aenean massa.<
<span id="text-for-selection">
<h1>Heading</h1>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor.</p>
<p>Aenean massa.</p>
<p>Aenean massa.</p>
<p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. </p>
</span>
标题
Lorem ipsum dolor sit amet,是一位杰出的领导者。埃尼安·康莫多·利古拉·埃吉特·多洛
埃尼安·马萨
埃尼安·马萨
在自然社会中,因怀孕而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯
如果我选择第一个“Aenean massa”。现在,我需要知道第一个选定字母在文本选择容器(包括html标记!!)中的位置,而不仅仅是在
标记中。
我试图搜索它,但如果我选择第二个,该选择哪一个呢?我知道如何获取所选文本,或者如何向所选内容添加html,或者如何替换所选文本。 但我不知道如何在span容器中获取范围/偏移量
有什么想法吗 这是你一直在寻找的东西吗?
您是否尝试了javascript中的indexOf?这是一个例子
<html id="html">
<body>
<span id="text-for-selection">
<h1>Heading</h1>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor.</p>
<p>Aenean massa.</p>
<p>Aenean massa.</p>
<p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. </p>
</span>
<button onclick="myFunction()">Try it</button>
<script>
function myFunction()
{
var str=document.getElementById('html').innerHTML;
var n=str.indexOf("Aenean massa.");
alert(n);
}
</script>
</body>
</html>
标题
Lorem ipsum dolor sit amet,是一位杰出的领导者。埃尼安·康莫多·利古拉·埃吉特·多洛
埃尼安·马萨
埃尼安·马萨
在自然社会中,因怀孕而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯,因饥饿而死亡的蒙特斯
试试看
函数myFunction()
{
var str=document.getElementById('html').innerHTML;
var n=str.indexOf(“Aenean massa”);
警报(n);
}
这是纯Javascript。您也可以使用Jquery我不知道有什么方法可以做到这一点,因为JavaScript只处理HTML的DOM抽象。你想解决什么问题?你能给我们看一下你可能尝试过的代码吗?你为什么用
包装
和
?为什么不
?@TrungDQ对我来说,它是否是一个span-order div并不重要。这只是为了让周围有一个id。为什么你会从你的数据库中得到“Lorem ipsum”^^rangy也一样-它只返回元素中所选文本的位置。这是迄今为止最好的答案。但是仍然存在问题,如果我选择第二个“Aenean massa”,indexOf函数将返回第一个元素的索引。