范围:setEnd() 方法

**Range.setEnd()** 方法将 Range 的结束位置设置为指定节点 x 中给定偏移量的位置。将结束点设置为高于(在文档中更高)起始点将导致一个折叠的范围,其起始点和结束点都设置为指定的结束位置。

语法

js
setEnd(endNode, endOffset)

参数

endNode

NodeRange 应该在此节点内结束。

endOffset

一个大于或等于零的整数,表示 Range 结束位置相对于 endNode 起始位置的偏移量。

返回值

无 (undefined).

异常

InvalidNodeTypeError DOMException

endNode 指定的节点是文档类型节点;范围端点不能位于文档类型节点内。

IndexSizeError DOMException

endOffset 指定的值大于或等于节点的长度或小于零。

使用说明

如果 endNodeNode 类型为 TextCommentCDataSection,则 endOffset 是从 endNode 开始的字符数。对于其他 Node 类型,endOffsetendNode 开始处之间的子节点数。

示例

js
const range = document.createRange();
const endNode = document.getElementsByTagName("p").item(3);
const endOffset = endNode.childNodes.length;
range.setEnd(endNode, endOffset);

**注意:**setEnd() 通常与 setStart() 结合使用以完全配置范围。

规范

规范
DOM 标准
# dom-range-setend

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。

另请参阅