Range:Range() 构造函数

Baseline 已广泛支持

该特性已非常成熟,可在多种设备和浏览器版本上使用。自 2017 年 4 月以来,它已在各大浏览器上可用。

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");

// Create new range
const range = new Range();

// Start range at second paragraph
range.setStartBefore(paragraphs[1]);

// End range at third paragraph
range.setEndAfter(paragraphs[2]);

// Get window selection
const selection = window.getSelection();

// Add range to window selection
selection.addRange(range);

结果

规范

规范
DOM
# ref-for-dom-range-range②

浏览器兼容性

另见