错误:"cannot read property 'nodename' of undefined"转换html表时



我试图将HTML表转换为KendoGrid,但在执行此时出错

$("#ReportExport").kendoGrid({
toolbar: ["excel"],
filterable: { mode: "row" },
pageSize: 25,
sortable: true,
columnMenuInit(e) {
e.container.find('li[role="menuitemcheckbox"]:nth-child(1)').remove();
e.container.find('li[role="menuitemcheckbox"]:nth-child(4)').remove();
},
columnMenu: {
filterable: false
},
reorderable: true,
resizable: true,
pageable: {
alwaysVisible: true,
pageSizes: [25, 100]
},
});

控制台上写着未捕获的类型错误:无法读取N(kendo.all.js:7692(上未定义的属性"nodeName">

此错误可能是由于脚本尝试访问元素时元素不可用。

您可以尝试在document.ready函数上插入代码,以确保DOM已加载,或者在运行代码之前检查元素是否可用。

我得到了这个。事实上,我不知道$("#GridName").KendoGrid()$("#GridName").data('kendoGrid')之间的区别。第一个基本上初始化网格。稍后,如果要操作网格,则必须首先使用第二种方法在变量中获取网格。所以问题就在这里

columnMenuInit(e) {
e.container.find('li[role="menuitemcheckbox"]:nth-child(1)').remove();
e.container.find('li[role="menuitemcheckbox"]:nth-child(4)').remove();
}

由于我使用的方法是用于初始化,所以网格无法执行所需的功能。感谢迪奥戈·佩雷斯给了我正确的方向。

最新更新