Range: deleteContents() 方法
Range.deleteContents() 方法会从文档中移除此范围内所有完全选中的 节点。对于范围开始或结束处的局部选中的节点,仅删除选中的文本部分,而节点本身保持不变。之后,该范围会折叠到最后一个选中节点的末尾。
<p>paragraph 1</p><p>paragraph 2</p><p>paragraph 3</p>
^----------- selection ------------^
deleteContents() returns:
<p>para</p><p>graph 3</p>
与 Range.extractContents() 不同,此方法不会返回一个包含已删除内容的 DocumentFragment。
语法
js
deleteContents()
参数
无。
返回值
无(undefined)。
示例
使用 deleteContents()
选中一些文本,可能跨越多个段落,然后单击按钮删除选中的文本。打开您的 DOM 检查器以检查更新后的 DOM 结构。
html
<p>paragraph 1</p>
<p>paragraph 2</p>
<p>paragraph 3</p>
<button id="delete">Delete selected text</button>
<button id="reset">Reset</button>
js
const button = document.getElementById("delete");
const reset = document.getElementById("reset");
const output = document.getElementById("output");
button.addEventListener("click", () => {
const range = document.getSelection().getRangeAt(0);
range.deleteContents();
});
reset.addEventListener("click", () => {
window.location.reload();
});
规范
| 规范 |
|---|
| DOM # dom-range-deletecontents |
浏览器兼容性
加载中…