minColumnWidth = parseInt(th.querySelector('.resizable1 div').style.minWidth);报错 Cannot read properties of null (reading 'style')
时间: 2024-12-14 16:19:09 浏览: 4
这个错误意味着你在尝试读取`null`对象的`style`属性,这通常是因为`querySelector('.resizable1 div')`返回的是`null`,也就是说,在表格的结构中找不到匹配`class='resizable1 div'`的元素。这可能是由于以下几个原因:
1. 选择器有误:检查`.resizable1 div`的选择器是否正确,确保列3的div确实有这个类名并且在DOM树中有对应的节点。
2. DOM加载完成:确保在操作元素之前,页面上的DOM已经完全加载完毕。你可以放在窗口的DOMContentLoaded事件回调函数中来确保这一点。
3. 元素不存在于表格中:如果你是动态添加的这个div,可能还没有添加到页面上,或者是在添加之后立即尝试去获取它的样式。
修复这个问题的一种办法是先检查查询结果是否为`null`,如果是,则不执行后续的操作:
```javascript
const resizableDiv = th.querySelector('.resizable1 div');
if (resizableDiv) {
const minColumnWidth = parseInt(resizableDiv.style.minWidth);
// ...后续代码...
} else {
console.error('无法找到列3的resizable div元素');
}
```
这样可以避免因找不到元素而导致的错误。如果还是有问题,确保在`mousedown`事件触发时,列3的div已经存在并且正确设置了`class='resizable1 div'`。
阅读全文