--- title: Range.setStart() slug: Web/API/Range/setStart translation_of: Web/API/Range/setStart ---

{{ApiRef("DOM")}}

 Range.setStart() 方法用于设置 {{ domxref("Range") }}的开始位置。

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

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

语法

range.setStart(startNode, startOffset);

参数

startNode
{{ domxref("startNode") }} 用于设定 {{ domxref("Range") }}的起始位置。
startOffset 
 必须为不小于0的整数。表示从startNode的开始位置算起的偏移量。

例子

var range = document.createRange();
var startNode = document.getElementsByTagName("p").item(2);
var startOffset = 0;
range.setStart(startNode,startOffset);

规范

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

浏览器兼容性

{{CompatibilityTable}}

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

参见