📅  最后修改于: 2023-12-03 15:31:10.516000             🧑  作者: Mango
setEnd()
方法是 Range
对象的方法之一,用于设置 Range
对象的尾部位置。其中,Range
对象代表文档中的一部分区域,也就是用户选择的文本片段,可以对其进行操作。
range.setEnd(endNode, endOffset);
endNode
: 必需。文本节点或 Element 对象,表示 Range
对象的结束位置。endOffset
: 必需。一个整数值,表示 Range
对象在结束位置处的偏移量。setEnd()
方法没有返回值。
下面的示例演示了如何使用 setEnd()
方法来设置一个 Range
对象的结束位置。
const range = document.createRange();
const paragraph = document.querySelector("p");
const textNode = paragraph.firstChild;
range.setStart(textNode, 2);
range.setEnd(textNode, 8);
range.deleteContents();
const text = document.createTextNode("inserted");
range.insertNode(text);
console.log(paragraph.innerHTML); // "Thinsertedd."
在上面的示例中,首先创建了一个 Range
对象,然后使用 setStart()
方法设置了 Range
对象的开始位置。接着,使用 setEnd()
方法设置了 Range
对象的结束位置。在这个例子中,选中的文本片段就是从节点 textNode
的第 2 个字符开始,到第 8 个字符结束的。
最后,使用 deleteContents()
方法删除了选中文本片段,再使用 insertNode()
方法替换成了一个新的文本节点,并输出了最终更新后的 HTML 内容。
以上是 HTML DOM Range setEnd() 方法
的介绍。在实际开发中,此方法可用于操作文本选中区域的尾部位置,是 Range
对象的常用方法之一。