javascript - DataTables:无法读取未定义的属性样式

标签 javascript jquery node.js datatables

我收到以下错误:

jquery.dataTables.js:4089 Uncaught TypeError: Cannot read property 'style' of undefined(…)
_fnCalculateColumnWidths @ jquery.dataTables.js:4089
_fnInitialise @ jquery.dataTables.js:3216
(anonymous function) @ jquery.dataTables.js:6457
each @ jquery-2.0.2.min.js:4
each @ jquery-2.0.2.min.js:4
DataTable @ jquery.dataTables.js:5993
$.fn.DataTable @ jquery.dataTables.js:14595
(anonymous function) @ VM3329:1
(anonymous function) @ VM3156:180
l @ jquery-2.0.2.min.js:4
fireWith @ jquery-2.0.2.min.js:4
k @ jquery-2.0.2.min.js:6
(anonymous function) @ jquery-2.0.2.min.js:6

上面提到(匿名函数)@VM3156:180 的那一行是:

                TASKLISTGRID = $("#TASK_LIST_GRID").DataTable({
                    data : response,
                    columns : columns.AdoptionTaskInfo.columns,
                    paging: true
                });

所以我猜这是失败的地方。

HTML ID 元素存在:

  <table id="TASK_LIST_GRID" class="table table-striped table-bordered table-hover dataTable no-footer" width="100%" role="grid" aria-describedby="TASK_LIST_GRID_info">
  <thead>
    <tr role="row">
      <th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Solution</th>
      <th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Status</th>
      <th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Category</th>
      <th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Type</th>
      <th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Due Date</th>
      <th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Create Date</th>
      <th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Owner</th>
      <th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Comments</th>
      <th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Mnemonic</th>
      <th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Domain</th>
      <th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Approve</th>
      <th class="sorting" tabindex="0" aria-controls="TASK_LIST_GRID" rowspan="1" colspan="1">Dismiss</th>
    </tr>
  </thead>
  <tbody></tbody>
</table>

此外,还存在 columns.AdoptionTaskInfo.columns 和响应对象数组。不知道如何调试出了什么问题..任何建议都会有所帮助..

最佳答案

问题在于 标签的数量需要与配置中的列数(键为“columns”的数组)相匹配。如果 标记比指定的列少,您会收到这条略显神秘的错误消息。

(正确答案已作为评论出现,但我将其作为答案重复,以便更容易找到 - 我没有看到评论)

关于javascript - DataTables:无法读取未定义的属性样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39376658/

相关文章:

javascript - 动画在特定时刻开始

javascript - 如何在单击子按钮时将 "active"类添加到 "this"父类,并在再次单击按钮时切换 "active"类

javascript - 使用按钮单击表单内部的 Ajax 调用不起作用

javascript - Meteor session 试图触发模板渲染

javascript - 悬停另一个 div 时将类添加到 div (Javascript)

jquery - 强制 jquery 使用 css3 来实现其效果

Jquery从页面底部向上滑动div

mysql - JWT 身份验证要求我注销并重新登录才能查看用户的更新信息

javascript - 在 Multer 变量中设置全局变量

node.js - 如何使用 socket.io-redis 将消息发送到另一个 socket.io 服务器?