Range()

实验性: 这是一项实验性技术
在将其用于生产之前,请仔细检查浏览器兼容性表格

构造函数 Range() 返回一个新创建的 Range 对象,新创建的对象属于全局 Document 对象。

语法

js
new Range()

示例

在下面的例子中,我们通过构造函数Range()创建了一个新的 range,并且使用Range.setStartBefore()Range.setEndAfter() 分别设置了起始位置。然后,通过方法window.getSelection()Selection.addRange()选中了选区 range。

HTML

html
<p>First paragraph.</p>
<p>Second paragraph.</p>
<p>Third paragraph.</p>
<p>Fourth paragraph.</p>

JavaScript

js
const paragraphs = document.querySelectorAll("p");

// 创建 Range 对象
const range = new Range();

// Range 起始位置在段落 2
range.setStartBefore(paragraphs[1]);

// Range 结束位置在段落 3
range.setEndAfter(paragraphs[2]);

// 获取 selection 对象
const selection = window.getSelection();

// 添加光标选择的范围
selection.addRange(range);

结果

规范

Specification
DOM Standard
# ref-for-dom-range-range②

浏览器兼容性

BCD tables only load in the browser

参见