You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jQuery DataTable报错:Cannot read properties of undefined (reading 'length')求助

解决jQuery DataTable报错:Uncaught TypeError: Cannot read properties of undefined (reading 'length')

核心问题:表格HTML结构不合法

你的Pug模板中tbody的循环缩进存在错误,导致生成的表格行与单元格结构不符合规范:

tbody
    each row in tableResults
        tr  // 此处tr未包含后续的td循环
        each data in row
            td
                p #{data}           

这段代码会生成空的<tr>标签,所有<td>都直接挂载在<tbody>下,DataTable无法识别正确的表格数据结构,进而触发length相关的读取错误。

修复方案

  1. 修正模板缩进,保证td嵌套在tr内部
    调整Pug代码的缩进层级,让each data in row归属于对应的tr:

    tbody
        each row in tableResults
            tr
                each data in row
                    td
                        p #{data}           
    

    调整后生成的HTML中,每个<tr>都会包含对应的<td>,表格结构符合DataTable的解析要求。

  2. 确认初始化时机的正确性

    • 若为服务器端直接渲染模板,当前的$(function() { ... })(DOM加载完成后执行)逻辑没问题。
    • 若为前端异步加载数据后动态生成表格,需在数据渲染完成的回调函数内再调用$('#myTable').DataTable()。
  3. 校验数据完整性
    检查tableResults是否为合法的二维数组:

    • 确保每个row都是数组类型,且数组长度与thead中tableColumns的长度一致,避免出现单元格数量不匹配的情况。

内容的提问来源于stack exchange,提问作者lancegoh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 01:45:44