开发者问题收集

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

2018-04-13
17998

我收到此错误:

Uncaught TypeError: Cannot set property '_DT_CellIndex' of undefined

我搜索了网络,发现它通常发生在 th 的数量与 td 的数量不匹配时。

但我不认为这是导致问题的原因。 请参阅下表定义:

$(document).ready(function() {
    $('#chat').DataTable({
        responsive: true,
        "bLengthChange": false,
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
<link href="//cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css" rel="stylesheet"/>

<table class="table table-striped table-bordered" id="chat">
  <thead>
    <tr>
      <th>From</th>
      <th>To</th>
      <th>Message</th>
      <th>Time of Messgae</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>jhon</td>
      <td>rylie</td>
      <td>
        <message xmlns:cli="jabber:client" to="[email protected]" cli:subject="TEXT MESSAGE" cli:lang="en" type="chat" id="jhon_1523607791051" from="[email protected]/bizRTC">
          <body>Hey Rylie</body>
          <request xmlns="urn:xmpp:receipts"></request>
        </message>
      </td>
      <td>13-04-18 08:23:11</td>
    </tr>
    <tr>
    </tr>
    <tr>
      <td>rylie</td>
      <td>jhon</td>
      <td>
        <message xmlns:cli="jabber:client" to="[email protected]" cli:subject="TEXT MESSAGE" cli:lang="en" type="chat" id="rylie_1523607808352" from="[email protected]/bizRTC">
          <body>Hey Jhon</body>
          <request xmlns="urn:xmpp:receipts"></request>
        </message>
      </td>
      <td>13-04-18 08:23:29</td>
    </tr>
    <tr>
      <td>rylie</td>
      <td>rajanjadav</td>
      <td><i class="material-icons">play_circle_filled</i> PTT Message</td>
      <td>13-04-18 08:36:21</td>
    </tr>
    <tr>
    </tr>
    <tr>
      <td>rylie</td>
      <td>jhon</td>
      <td>
        <message xmlns:cli="jabber:client" to="[email protected]" cli:subject="TEXT MESSAGE" cli:lang="en" type="chat" id="rylie_1523608843382" from="[email protected]/bizRTC">
          <body>what are you doing</body>
          <request xmlns="urn:xmpp:receipts"></request>
        </message>
      </td>
      <td>13-04-18 08:40:43</td>
    </tr>
    <tr>
      <td>jhon</td>
      <td>rylie</td>
      <td>
        <message xmlns:cli="jabber:client" to="[email protected]" cli:subject="TEXT MESSAGE" cli:lang="en" type="chat" id="jhon_1523608972383" from="[email protected]/bizRTC">
          <body>Nothing much</body>
          <request xmlns="urn:xmpp:receipts"></request>
        </message>
      </td>
      <td>13-04-18 08:42:52</td>
    </tr>
    <tr>
    </tr>
    <tr>
      <td>jhon</td>
      <td>rylie</td>
      <td>
        <message xmlns:cli="jabber:client" to="[email protected]" cli:subject="TEXT MESSAGE" cli:lang="en" type="chat" id="jhon_1523609330813" from="[email protected]/bizRTC">
          <body>This is for jqyeur</body>
          <request xmlns="urn:xmpp:receipts"></request>
        </message>
      </td>
      <td>13-04-18 08:48:50</td>
    </tr>
    <tr>
    </tr>
    <tr>
      <td>rylie</td>
      <td>jhon</td>
      <td>
        <message xmlns:cli="jabber:client" to="[email protected]" cli:subject="TEXT MESSAGE" cli:lang="en" type="chat" id="rylie_1523609341479" from="[email protected]/bizRTC">
          <body>okay got it msg</body>
          <request xmlns="urn:xmpp:receipts"></request>
        </message>
      </td>
      <td>13-04-18 08:49:01</td>
    </tr>
    <tr>
      <td>jhon</td>
      <td>rylie</td>
      <td>
        <message xmlns:cli="jabber:client" to="[email protected]" cli:subject="TEXT MESSAGE" cli:lang="en" type="chat" id="jhon_1523611389535" from="[email protected]/bizRTC">
          <body>Say else what are you doing</body>
          <request xmlns="urn:xmpp:receipts"></request>
        </message>
      </td>
      <td>13-04-18 09:23:09</td>
    </tr>
    <tr>
    </tr>
    <tr>
      <td>rylie</td>
      <td>jhon</td>
      <td>
        <message xmlns:cli="jabber:client" to="[email protected]" cli:subject="TEXT MESSAGE" cli:lang="en" type="chat" id="rylie_1523611415081" from="[email protected]/bizRTC">
          <body>nothing much just coding right now</body>
          <request xmlns="urn:xmpp:receipts"></request>
        </message>
      </td>
      <td>13-04-18 09:23:35</td>
    </tr>
    <tr>
      <td>jhon</td>
      <td>rylie</td>
      <td>
        <message xmlns:cli="jabber:client" to="[email protected]" cli:subject="TEXT MESSAGE" cli:lang="en" type="chat" id="jhon_1523611468570" from="[email protected]/bizRTC">
          <body>What's ur password</body>
          <request xmlns="urn:xmpp:receipts"></request>
        </message>
      </td>
      <td>13-04-18 09:24:28</td>
    </tr>
    <tr>
    </tr>
    <tr>
    </tr>
    <tr>
      <td>jhon</td>
      <td>rylie</td>
      <td><i class="material-icons">play_circle_filled</i> PTT Message</td>
      <td>13-04-18 09:27:18</td>
    </tr>
    <tr>
    </tr>
    <tr>
      <td>jhon</td>
      <td>rajanjadav</td>
      <td>
        <message xmlns:cli="jabber:client" to="[email protected]/bizRTC" cli:subject="TEXT MESSAGE" cli:lang="en" type="groupchat" id="jhon_1523611651354" from="[email protected]/jhon__umobilityptt.7600556046">
          <body>This message is sent in bizrtc group</body>
          <request xmlns="urn:xmpp:receipts"></request>
        </message>
      </td>
      <td>13-04-18 09:27:31</td>
    </tr>
    <tr>
      <td>rylie</td>
      <td>rajanjadav</td>
      <td>
        <message xmlns:cli="jabber:client" to="[email protected]/bizRTC" cli:subject="TEXT MESSAGE" cli:lang="en" type="groupchat" id="rylie_1523613602613" from="[email protected]/rylie__umobilityptt.7600556046">
          <body>what happened in the meeting with Alliance</body>
          <request xmlns="urn:xmpp:receipts"></request>
        </message>
      </td>
      <td>13-04-18 10:00:03</td>
    </tr>
    </tr>
  </tbody>
</table>

对此可能的解决方案是什么?

2个回答

DataTables 要求表格的每一行都填充一致,列数也相同。原因是 HTML 中的空元素。

<tr>
</tr>

如果删除这些空行,错误就会消失。

colin0117
2018-04-13

仅供参考:数据表与 colspan 配合使用效果也不好。我有一个包含 3 个单元格的表格,但其中一行 colspan=3,它们给出了相同的错误。

Robert H
2022-01-31