选择:containsNode() 方法
Selection.containsNode()
方法指示指定节点是否为选择的一部分。
语法
js
containsNode(node)
containsNode(node)
containsNode(node, partialContainment)
参数
node
-
在选择中查找的节点。
partialContainment
可选-
当
true
时,如果节点的一部分是选择的一部分,则containsNode()
返回true
。当false
时,只有当整个节点是选择的一部分时,containsNode()
才返回true
。如果未指定,则使用默认值false
。
返回值
如果给定节点是选择的一部分,则返回 true
,否则返回 false
。
示例
检查选择
此代码段检查 body 元素内部是否有任何内容被选中。
js
console.log(window.getSelection().containsNode(document.body, true));
查找隐藏的单词
在此示例中,当您选择秘密单词时,会显示一条消息。它使用 addEventListener()
检查 selectionchange
事件。
HTML
html
<p>Can you find the secret word?</p>
<p>
Hmm, where <span id="secret" style="color:transparent">SECRET</span> could it
be?
</p>
<p id="win" hidden>You found it!</p>
JavaScript
js
const secret = document.getElementById("secret");
const win = document.getElementById("win");
// Listen for selection changes
document.addEventListener("selectionchange", () => {
const selection = window.getSelection();
const found = selection.containsNode(secret);
win.toggleAttribute("hidden", !found);
});
结果
规范
规范 |
---|
选择 API # dom-selection-containsnode |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。
另请参阅
Selection
,它所属的接口。