Range.selectNodeContents() - Web API 接口参考 编辑

Range.selectNodeContents() 方法用于设置 Range,使其包含一个 Node 的内容。

Range 的起始和结束节点的父节点即为引用节点。 startOffset 为 0,  endOffset 则是引用节点包含的字符数或子节点个数。

语法

range.selectNodeContents(referenceNode);

参数

referenceNode
Node 中的内容被包含在 Range 中。

示例

range = document.createRange();
referenceNode = document.getElementsByTagName("div")[0];
range.selectNodeContents(referenceNode);

实时样例

这个例子让用户使用按钮选择或取消选择一个段落。Document.createRange()、 Range.selectNodeContents() 和 Selection.addRange() 用于选择内容。Window.getSelection()Selection.removeAllRanges() 用于取消选择。

HTML

<p id="p"><b>Use the buttons below</b> to select or deselect the contents of this paragraph.</p>
<button id="select-button">Select paragraph</button>
<button id="deselect-button">Deselect paragraph</button>

JavaScript

const p = document.getElementById('p');
const selectButton = document.getElementById('select-button');
const deselectButton = document.getElementById('deselect-button');

selectButton.addEventListener('click', e => {
  // Clear any current selection
  const selection = window.getSelection();
  selection.removeAllRanges();

  // Select paragraph
  const range = document.createRange();
  range.selectNodeContents(p);
  selection.addRange(range);
});

deselectButton.addEventListener('click', e => {
  const selection = window.getSelection();
  selection.removeAllRanges();
});

结果

规范

规范状态注释
DOM
Range.selectNodeContents()
Living Standard无变化
Document Object Model (DOM) Level 2 Traversal and Range Specification
Range.selectNodeContents()
Obsolete初始规范

浏览器兼容性

BCD tables only load in the browser

参见

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:81 次

字数:4350

最后编辑:6 年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文