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

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

【问题讨论】:

标签: jquery datatables


【解决方案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 width="70">{{__("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
                    ]
                    

                    【讨论】:

                      猜你喜欢
                      • 2014-08-27
                      • 1970-01-01
                      • 2022-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 2011-03-11
                      • 2013-06-16
                      相关资源
                      最近更新 更多