--- title: Range.setEnd() slug: Web/API/Range/setEnd tags: - 范围对象 translation_of: Web/API/Range/setEnd ---

Range.setEnd()方法用于设置 Range的结束位置。

 

如果结束节点类型是 Text, Comment, or CDATASection之一, 那么 endOffset指的是从结束节点算起字符的偏移量。 对于其他 Node 类型节点, endOffset是指从结束结点开始算起子节点的偏移量。

如果设置的结束点在起始点之上(在文档中的位置),将会导致选区折叠,起始点和结束点都会被设置为指定的结束位置。

 

语法

range.setEnd(endNode, endOffset);

参数

endNode
endNode用于设定 Range的结束位置。
endOffset
必须为不小于0的整数。表示从endNode的结束位置算起的偏移量。

例子

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

规范

Specification Status Comment
{{SpecName('DOM WHATWG', '#dom-range-setend', 'Range.setEnd()')}} {{Spec2('DOM WHATWG')}} No change.
{{SpecName('DOM2 Traversal_Range', 'ranges.html#Level2-Range-method-setEnd', 'Range.setEnd()')}} {{Spec2('DOM2 Traversal_Range')}} Initial specification.

浏览器兼容性

{{CompatibilityTable}}

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatGeckoDesktop("1.0")}} 9.0 9.0 {{CompatVersionUnknown}}
Feature Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatGeckoMobile("1.0")}} 9.0 9.0 {{CompatVersionUnknown}}

参见