reactjs - 未捕获的类型错误:无法在“范围”上执行“选择节点”:参数 1 不是“节点”类型
问题描述
我想复制 HTML 表格的内容。复制表的代码是:
copyTable(){
let item = this.refs.exportData.outerText\\data in the table
this.copyData(item)
}
copyData(item){
if (item) {
if (document.selection) { // IE
var range = document.body.createTextRange();
range.moveToElementText(document.getElementById(item));
range.select();
document.execCommand('copy');
} else if (window.getSelection) {
var range = document.createRange();
range.selectNode(document.getElementById(item));
window.getSelection().removeAllRanges();
window.getSelection().addRange(range);
document.execCommand('copy');
}
}
我收到错误“未捕获的 TypeError:无法在 'Range' 上执行 'selectNode':参数 1 不是 'Node' 类型。” 在代码行中 range.selectNode(document.getElementById(item));
。
我该如何解决这个错误?
解决方案
遵循这一行:
let item = this.refs.exportData.outerText
item
是 astring
而不是 DOM 节点,而您稍后在document.getElementById
. `
//item is a DOM Node
let item = this.refs.exportData
/* ... */
range.selectNode(item);
推荐阅读
- dart - Flutter List + Pull to load more data 不等待数据加载完成导致列表/滚动变得不稳定
- c# - 从数据表插入 SQLite
- gemfire - Geode 事务生成 ID 和插入对象
- javascript - 有没有办法正确模拟单元测试的重新选择选择器?
- php - 如何解决这个错误 phpunit/phpunit-mock-objects 包被废弃,你应该避免使用它。没有建议更换
- java - 资源类和空参数
- mongodb - 为什么我的 mongodb 查询返回 0 个结果?
- reactjs - 使用 react-bootstrap 在 NavDropdown 标题内输入字段块空间
- dart - 为什么 Flutter-test 在以下情况下不渲染 Text 小部件?
- java - JavaFX 用更少的代码检测按钮点击