范围:selectNodeContents() 方法
Range.selectNodeContents()
方法将 Range
设置为包含 Node
的内容。
Range
的开始和结束的父 Node
将是参考节点。startOffset
为 0,endOffset
是子 Node
的数量或参考节点中包含的字符数量。
语法
js
selectNodeContents(referenceNode)
参数
返回值
无 (undefined
)。
示例
js
const range = document.createRange();
const referenceNode = document.querySelector("div");
range.selectNodeContents(referenceNode);
实时示例
此示例允许用户使用按钮选择和取消选择段落。 Document.createRange()
、Range.selectNodeContents()
和 Selection.addRange()
用于选择内容。 Window.getSelection()
和 Selection.removeAllRanges()
用于取消选择。
HTML
html
<p id="p">
<strong>Use the buttons below</strong> 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
js
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 标准 # dom-range-selectnodecontents |
浏览器兼容性
BCD 表格仅在启用了 JavaScript 的浏览器中加载。