我有这个令人满意的元素:
<div id="editMe" contenteditable="true">
There is some text here.
<span id="selectThisText">This is the target text.</span>
And some here.
</div>
我想用Javascript来选择(获取范围对象)#selectThisText的内容。如何获取该元素中的内容范围?
提前致谢!
答案 0 :(得分:8)
创建一个范围并使用其selectNodeContents()
方法。
var span = document.getElementById("selectThisText");
var range = document.createRange();
range.selectNodeContents(span);
这在IE&lt; = 8中不起作用,它不支持DOM范围。然而,这是一个在旧IE中同样容易的案例:
var span = document.getElementById("selectThisText");
var textRange = document.body.createTextRange();
textRange.moveToElementText(span);
答案 1 :(得分:0)
//get Selection
var selection = window.getSelection();
//get Range
var range = selection.getRangeAt(0); //where the range selection happens.
答案 2 :(得分:-1)
var text = $('#selectThisText').text();
答案 3 :(得分:-1)
如果您使用的是vanilla Javascript,那么您应该可以
var text = document.getElementById('selectThisText').innerHTML;
或使用jQuery
var text = $('#selectThisText').html();