javascript - 使用 setsrat 和 setEnd 选择部分文本

标签 javascript html range

我正在尝试从这个 fiddle http://jsfiddle.net/vZ2fF/ 中的文本中选择文本 some但它似乎根本不起作用......我做错了什么???

<div contenteditable="true">
    <p id="ul1">
        <span id="span1">some element</span>
        <span>some element2</span>
    </p>
</div>

var selection1= window.getSelection();

var range1=document.createRange();
var ul= document.getElementById("ul1");

var idspan=document.getElementById("span1");

range1.setStart(idspan, 0);
range1.setEnd(idspan, 5);

selection1.addRange(range1);

最佳答案

jsBin demo

var Win = window, Doc = document;
var selection1 = Win.getSelection ? Win.getSelection() : Doc.selection.createRange();
var range = Doc.createRange();

function El(id){ return Doc.getElementById(id); }
var ul = El("ul1");
var idspan = El("span1").firstChild; // Note the Node element

range.setStart(idspan, 0);
range.setEnd(idspan, 4);

selection1.addRange(range);

http://www.quirksmode.org/dom/range_intro.html
https://developer.mozilla.org/en-US/docs/Web/API/range.setStart
https://developer.mozilla.org/en-US/docs/Web/API/range.setEnd
https://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-range-setstart

关于javascript - 使用 setsrat 和 setEnd 选择部分文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23324302/

相关文章:

colors - 在 RGB 和一个整数/浮点值之间转换

javascript - 检查数字是否在范围内

javascript - 如何将链接复制到剪贴板,以便在所见即所得编辑器(JS、jQuery)中使用它

javascript - 在 React 功能组件中声明静态变量的最佳方式是什么?

javascript - 如何使用 Canvas 在另一个图像上绘制图像

c++ - 为什么不在带有迭代器参数的标准库函数中提供重载?

function - 如何为VLookup函数传入Range参数?

javascript - 如何防止加载外部资源,同时防止出现 “Failed to execute ' write' on 'Document' ”错误?

javascript - 在 Chrome 中打印重复的页眉

php - $(document).ready(function(){ 每次在 Hyperlink 的 onclick 事件上执行?