未捕获类型错误:无法设置未定义的属性“nTf”

问题描述 投票:0回答:12

我收到控制台错误:

"Uncaught TypeError: Cannot set property 'nTf' of undefined".

我正在使用

jQuery Datatable

jquery datatables
12个回答
68
投票

好吧,让我向大家澄清一下,

tfoot > th
必须等于你的
thead > th

我最近刚刚遇到这种问题,并试图花几分钟来解决它,所以只要确保将来有人可能会面临它


35
投票

根据https://datatables.net/forums/discussion/22697/uncaught-typeerror-cannot-set-property-ntf-of-undefined,您可能在定义的表的页眉和/或页脚中有更多单元格在你的 html 中比你从服务器返回的要好。

至少这是我遇到的问题,给了我这个错误消息。


18
投票

嗨,我有同样的问题,但现在我已经解决了我的问题。出现此问题的原因是 head 标签中的列数多于 body 标签。如果您遇到同样的错误,请首先检查 thead 和 tbody 或 tfoot 中有多少列。


11
投票

此外,当我的数据表设置中的列与 HTML 中的列不匹配时,也会发生此错误。

我通过确保它们匹配来修复它。

(下图中,它们不匹配,导致错误。)


5
投票

页眉和页脚部分中

<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>

4
投票

在表中检查所有 colspan 属性值是否等于列数


2
投票

我也遇到这个问题了。 tfoot 中的所有列都与 thead 匹配。只需清除浏览器缓存的简单步骤就为我带来了魔力。希望这对某人有帮助。


2
投票

另一个可能的原因涉及引用不存在的列索引的函数。例如,我只有 8 列,但该函数引用了列索引 10,这导致了错误。

...
initComplete: function () {
   this.api().columns([2, 3, 4, 5, 10]).every(function () {
   ...

1
投票

页眉和页脚部分中

<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>

0
投票

我使用的是服务器端处理方法。 我能够通过确保数据表选项中的 columns 属性与 table thead 和 table tfoot 列相同来解决我的问题。


0
投票

这个问题我遇到过两次, 第一次通过添加缺少的标签来解决(两侧必须相等) 第二次通过刷新浏览器缓存解决了。


0
投票

如果您有“列”选项,请检查数量

columns: [
    { className: "select-filter" },
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null
]
© www.soinside.com 2019 - 2024. All rights reserved.