---
title: Range.setStartBefore()
slug: Web/API/Range/setStartBefore
translation_of: Web/API/Range/setStartBefore
---
<div>{{ApiRef("DOM")}}</div>

<p><strong><code>Range.setStartBefore()</code></strong> 方法相对另一个 {{domxref("Node")}}来设置一个{{domxref("Range")}} 的开始位置. {{domxref("Range")}}的开始节点(focusNode)的父节点,和  <code>referenceNode</code>的父节点是同一个.</p>

<h2 id="Syntax" name="Syntax">Syntax</h2>

<pre class="syntaxbox"><var>range</var>.setStartBefore(<em>referenceNode</em>);
</pre>

<h3 id="Parameters" name="Parameters">Parameters</h3>

<dl>
 <dt><em>referenceNode</em></dt>
 <dd>一个{{domxref("Range")}}新的开始位置上的{{domxref("Node")}}.</dd>
</dl>

<h2 id="Example" name="Example">Example</h2>

<pre class="brush:js">var range = document.createRange();
var referenceNode = document.getElementsByTagName("div").item(0);

range.setStartBefore(referenceNode);
</pre>

<h2 id="Specifications" name="Specifications">Specifications</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Specification</th>
   <th scope="col">Status</th>
   <th scope="col">Comment</th>
  </tr>
  <tr>
   <td>{{SpecName('DOM WHATWG', '#dom-range-setstartbefore', 'Range.setStartBefore()')}}</td>
   <td>{{Spec2('DOM WHATWG')}}</td>
   <td>No change.</td>
  </tr>
  <tr>
   <td>{{SpecName('DOM2 Traversal_Range', 'ranges.html#Level2-Range-setStartBefore', 'Range.setStartBefore()')}}</td>
   <td>{{Spec2('DOM2 Traversal_Range')}}</td>
   <td>Initial specification.</td>
  </tr>
 </tbody>
</table>

<h2 id="Browser_compatibility">Browser compatibility</h2>



<p>{{Compat("api.Range.setStartBefore")}}</p>

<h2 id="See_also">See also</h2>

<ul>
 <li><a href="/en-US/docs/DOM/DOM_Reference" title="/en-US/docs/DOM/DOM_Reference">The DOM interfaces index</a></li>
</ul>