Range:Range() 构造函数

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Range() 构造函数返回一个新创建的 Range 对象,其起始点和结束点是全局 Document 对象。

语法

js
new Range()

参数

无。

示例

在这个示例中,我们使用 Range() 构造函数创建一个新的范围,并通过 Range.setStartBefore()Range.setEndAfter() 方法设置其起始和结束位置。然后我们使用 window.getSelection()Selection.addRange() 方法选择该范围。

HTML

html
<p>第一段。</p>
<p>第二段。</p>
<p>第三段。</p>
<p>第四段。</p>

JavaScript

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

// 创建新的范围
const range = new Range();

// 从第二个段落开始设置范围
range.setStartBefore(paragraphs[1]);

// 将范围结束于第三个段落
range.setEndAfter(paragraphs[2]);

// 获取窗口的选择范围
const selection = window.getSelection();

// 将范围添加到窗口的选择范围中
selection.addRange(range);

结果

规范

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

浏览器兼容性

BCD tables only load in the browser

参见