选择:addRange() 方法

Selection.addRange() 方法将一个 Range 添加到 Selection

语法

js
addRange(range)

参数

range

将要添加到 SelectionRange 对象。

返回值

无 (undefined).

示例

注意:目前只有 Firefox 支持多个选择范围,其他浏览器如果选择已经包含一个范围,则不会添加新范围。

HTML

html
<p>
  I <strong>insist</strong> that you <strong>try</strong> selecting the
  <strong>strong words</strong>.
</p>
<button>Select strong words</button>

JavaScript

js
let button = document.querySelector("button");

button.addEventListener("click", () => {
  const selection = window.getSelection();
  const strongs = document.getElementsByTagName("strong");

  if (selection.rangeCount > 0) {
    selection.removeAllRanges();
  }

  for (const node of strongs) {
    const range = document.createRange();
    range.selectNode(node);
    selection.addRange(range);
  }
});

结果

规范

规范
选择 API
# dom-selection-addrange

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参见