【发布时间】:2015-11-11 19:45:36
【问题描述】:
我想在内容可编辑的 div 中选择文本。我想提供一个开始索引和一个结束索引。
例如,如果我有一个 div:
<div id="main" contenteditable="true">
Hello World
</div>
我想要一个函数来执行“selectText('#main',6,10)”之类的操作,它会选择将焦点设置为 main 并选择“World”。
但我在网上看到的所有示例都假设容器 div 有子级。但是我家没有孩子。只是 div 中的文本。
这是我迄今为止尝试过的无济于事:
$('#main').focus();
var mainDiv = document.getElementById("main");
var startNode = mainDiv;
var endNode = mainDiv;
var range = document.createRange();
range.setStart(startNode, 6);
range.setEnd(endNode, 10);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
但我得到: 未捕获的 IndexSizeError:无法在“范围”上执行“setStart”:偏移量 6 处没有子项。
我的 jsfiddle: http://jsfiddle.net/foreyez/h4bL5u4g/
【问题讨论】:
-
innerText 方法有帮助吗?
标签: javascript html