如何获取被框选的元素内容
时间: 2024-03-13 09:43:37 浏览: 11
要获取被框选的元素内容,可以使用`window.getSelection()`和`getRangeAt()`方法。具体步骤如下:
1. 在框选完成后,使用`window.getSelection()`方法获取文档中被选中的文本节点。
2. 使用`getRangeAt()`方法获取选区范围。
3. 使用`cloneContents()`方法将选区范围中的内容克隆到一个新的元素中。
4. 使用`innerHTML`属性获取克隆元素的HTML内容即可。
例如,以下代码可以在鼠标松开后获取被框选的元素内容:
```javascript
document.addEventListener('mouseup', function() {
var selection = window.getSelection();
if (selection.rangeCount > 0) {
var range = selection.getRangeAt(0);
var clonedContent = range.cloneContents();
var div = document.createElement('div');
div.appendChild(clonedContent);
var selectedContent = div.innerHTML;
console.log(selectedContent);
}
});
```
上面的代码中,`mouseup`事件在鼠标松开时触发,首先使用`window.getSelection()`方法获取选中的文本节点,然后使用`getRangeAt()`方法获取选区范围,在使用`cloneContents()`方法将选区范围中的内容克隆到一个新的`div`元素中,最后使用`innerHTML`属性获取克隆元素的HTML内容即可。