📜  HTML DOM Range setEnd() 方法(1)

📅  最后修改于: 2023-12-03 15:31:10.516000             🧑  作者: Mango

HTML DOM Range setEnd() 方法

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 对象的常用方法之一。