我在查看网页时在控制台中收到两个错误。正在使用数据表,我很确定(因为错误状态)该问题与Datatables有关。这里的问题是我没有编写这段代码,我现在只是想解决代码中的问题。奇怪的是,代码的这一部分应该在以前工作,因为我可以看到它在实时版本上工作。我认为错误是正确的吗?如果是这样,当代码不是由我制作,而代码和数据是大量的时,调试它的最佳方法是什么?
DataTables警告:TD元素的意外数量。预计2040年 得到1981. DataTables不支持rowspan / colspan 表体,每行/每列必须有一个单元格 组合。 jquery.dataTables.js:5840
未捕获的TypeError:无法读取未定义的属性“parentNode”。 jquery.dataTables.js:2843
答案 0 :(得分:3)
您是否有可以发布的网址,以便我们查看?
Cannot read property
parentNode of undefined
是一个javascript错误,因为您尝试获取不存在的parentNode
内容。
另一个错误似乎很明显? TR中TD元素的数量与表的其余部分不一致。查看HTML并检查TD&的数量。 THEAD,TFOOT和TBODY中的TH元素都是相同的。 “DataTables不支持表体中的rowspan / colspan”
请发布表格的网址或HTML / JS代码段,最好是http://www.jsfiddle.net
答案 1 :(得分:1)
与此特定情况无关,但可能对其他搜索此问题的人有用。
我遇到了相同的错误,结果是由于指定了不存在的排序列而导致。我指定了第11列,但该表只有10列。
答案 2 :(得分:1)
在不检查它是否是数据表的情况下销毁表对我造成了问题,因此通过添加以下检查解决了
var table = $('#tableName')
if (!$.fn.DataTable.isDataTable('#tableName')) {
return;
}
else {
var table = $('#tableName').DataTable();
table.destroy();
}
答案 3 :(得分:0)
我遇到了这个问题,我通过在刷新或重新填充之前清空表来解决它:
$('#table').empty();
$('#table').dataTable(...);
答案 4 :(得分:0)
我有这个问题,我通过添加sDom来解决它:
sDom: '<"top"><"clear">rt<"bottom"><"clear">'
之前:
sDom: ''
答案 5 :(得分:0)
我有同样的错误,但不同的解决方案解决了它。
我在初始化数据表时已经设置了属性destroy : true
。这有助于重新初始化表格
问题:
在datatable中,您必须在初始化时提供属性'columns': columnArray,
。
它看起来像:
$('#example').dataTable( {
"ajaxSource": "sources/objects.txt",
"columns": [
{ "data": "engine" },
{ "data": "browser" },
{ "data": "platform" },
{ "data": "version" },
{ "data": "grade" }
],
destroy: true
} );
必须根据ajax数据填充此columnArray
。我为每个ajax调用填充了这个,从而使数组膨胀,同一列的多个条目。我通过将数组重新初始化为[]
来修复它。