Javascript Handsontable - 未捕获的类型错误:无法读取未定义的属性“insertBefore”
Posted
技术标签:
【中文标题】Javascript Handsontable - 未捕获的类型错误:无法读取未定义的属性“insertBefore”【英文标题】:Javascript Handsontable - Uncaught TypeError: Cannot read property 'insertBefore' of undefined 【发布时间】:2016-08-06 01:27:24 【问题描述】:我正在使用可动手做的库来创建整洁的表格。 我从字面上复制了教程,但控制台(Web 开发人员控制台)给了我以下错误:
Uncaught TypeError: Cannot read property 'insertBefore' of undefined
handsontable.full.js:4471
我在<head>
标签中正确链接了 .css 和 .js 文件。
我的 javascript 看起来像这样:
var data = [
["", "Ford", "Volvo", "Toyota", "Honda"],
["2016", 10, 11, 12, 13],
["2017", 20, 11, 14, 13],
["2018", 30, 15, 12, 13]
];
var container = document.getElementById('temp');
var hot = new Handsontable(container,
data: data,
rowHeaders: true,
colHeaders: true,
dropdownMenu: true
);
html:
<div id="temp"></div>
handsontable.full.js 中的第 4471 行是
rootElement.insertBefore(this.container, rootElement.firstChild);
表格没有显示,控制台中的错误是我的全部。
【问题讨论】:
我的猜测是您正在尝试在页面上存在之前读取该元素。调用代码 onload 或将代码放在页面上的元素之后。 【参考方案1】:看起来像你的
document.getElementById('temp');
返回未定义。
确保Handsontable
正在构造时容器元素仍然存在。
【讨论】:
你是对的。我正在动态加载我的内容,并且在加载内容之前调用了脚本,因此 div 不存在。【参考方案2】:您的rootElement
引用未定义。请检查此变量在哪里定义以及分配给什么。
【讨论】:
以上是关于Javascript Handsontable - 未捕获的类型错误:无法读取未定义的属性“insertBefore”的主要内容,如果未能解决你的问题,请参考以下文章
从 Django POST 请求中获取表格并在 handsontable 中显示(在 javascript 中读取值)
Javascript Handsontable - 未捕获的类型错误:无法读取未定义的属性“insertBefore”