未捕获的类型错误:无法设置未定义的属性“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】:页眉和页脚部分<th>
的数量应该匹配,或者您可以使用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”