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

Posted

技术标签:

【中文标题】未捕获的类型错误:无法设置未定义的属性“nTf”【英文标题】:Uncaught TypeError: Cannot set property 'nTf' of undefined 【发布时间】:2017-03-30 16:52:13 【问题描述】:

我收到控制台错误“Uncaught TypeError: Cannot set property 'nTf' of undefined”。我正在使用 jquery 数据表。

【问题讨论】:

在这里显示代码 htm 和 jquery 吗? 更多信息请见jQuery DataTables: Common javascript console errors - TypeError: Cannot set property ‘nTf’ of undefined。 【参考方案1】:

好吧,让我为大家澄清一下,tfoot > th 必须等于您的 thead > th

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

【讨论】:

【参考方案2】:

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

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

【讨论】:

你是如何解决这个问题的?我根本没有使用页脚,但收到相同的错误消息。 我通过从服务器返回与 HTML 标题中的单元格一样多的列来修复它:)。【参考方案3】:

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

【讨论】:

【参考方案4】:

此外,当我的 Datatables 设置中的列与我的 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>

【讨论】:

【参考方案6】:

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

【讨论】:

【参考方案7】:

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

【讨论】:

这对我也有帮助。谢谢!【参考方案8】:

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

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

【讨论】:

【参考方案9】:

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

【讨论】:

【参考方案10】:

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

【讨论】:

【参考方案11】:

页眉和页脚部分&lt;th&gt;的数量应该匹配,或者您可以使用colspan

     <thead>
        <tr>
           <th>__("ID")</th>
           <th>__("Ar Name")</th>
           <th>__("En Name")</th>
           <th >__("Control")</th>
        </tr>
     </thead>
     <tfoot>
        <tr>
           <th colspan="4"></th>
        </tr>
    </tfoot>

【讨论】:

【参考方案12】:

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

columns: [
     className: "select-filter" ,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null
]

【讨论】:

以上是关于未捕获的类型错误:无法设置未定义的属性“nTf”的主要内容,如果未能解决你的问题,请参考以下文章

未捕获的类型错误:无法设置未定义的属性 [重复]

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

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

错误(索引):74 未捕获的类型错误:无法设置未定义的属性“cmd”

未捕获的类型错误:无法设置未定义数据表的属性“_DT_CellIndex”

数据表:未捕获的类型错误:无法读取未定义的属性“按钮”