【发布时间】:2017-03-30 16:52:13
【问题描述】:
我收到控制台错误“Uncaught TypeError: Cannot set property 'nTf' of undefined”。我正在使用 jquery 数据表。
【问题讨论】:
-
在这里显示代码 htm 和 jquery 吗?
标签: jquery datatables
我收到控制台错误“Uncaught TypeError: Cannot set property 'nTf' of undefined”。我正在使用 jquery 数据表。
【问题讨论】:
标签: jquery datatables
好吧,让我为大家澄清一下,tfoot > th 必须等于您的 thead > th
我最近遇到了这种问题,并试图解决几分钟,所以只要确保将来有人可能会遇到它
【讨论】:
根据https://datatables.net/forums/discussion/22697/uncaught-typeerror-cannot-set-property-ntf-of-undefined,您在 html 中定义的表格的页眉和/或页脚中的单元格可能比您从服务器返回的要多。
至少这是我遇到的问题,它给了我这个错误消息。
【讨论】:
您好,我遇到了同样的问题,但现在我已经解决了我的问题。出现此问题的原因是 head 标记中的列多于 body 标记。如果您有同样的错误,请先检查在 thead 和 tbody 或 tfoot 中有多少列。
【讨论】:
页眉和页脚部分<th>的数量应匹配
<thead>
<tr>
<th></th>
<th>Subject Areas</th>
<th></th>
<th>Option(s)</th>
<tr>
</thead>
<tbody></tbody>
<tfoot>
<tr>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
</tfoot>
【讨论】:
在您的表中检查所有 colspan 属性值是否等于列数
【讨论】:
我也遇到了这个问题。 tfoot 中的所有列都与 thead 匹配。只需一个简单的清除浏览器缓存的步骤就为我带来了魔力。希望这对某人有所帮助。
【讨论】:
另一个可能的原因涉及引用不存在的列索引的函数。例如,我只有 8 列,但此函数引用了导致错误的列索引 10。
...
initComplete: function () {
this.api().columns([2, 3, 4, 5, 10]).every(function () {
...
【讨论】:
我使用的是服务器端处理方法。 通过确保数据表选项中的 columns 属性与 table thead 和 table tfoot 列相同,我能够解决我的问题。
【讨论】:
我两次遇到这个问题, 第一次通过添加缺少的标签来解决(两边必须相等) 第二次通过刷新浏览器缓存解决了。
【讨论】:
页眉和页脚部分<th>的数量应该匹配,或者您可以使用colspan
<thead>
<tr>
<th>{{__("ID")}}</th>
<th>{{__("Ar Name")}}</th>
<th>{{__("En Name")}}</th>
<th width="70">{{__("Control")}}</th>
</tr>
</thead>
<tfoot>
<tr>
<th colspan="4"></th>
</tr>
</tfoot>
【讨论】:
如果您有“列”选项,请检查数量
columns: [
{ className: "select-filter" },
null,
null,
null,
null,
null,
null,
null,
null
]
【讨论】: