init上的jQuery TableSorter插件错误:无法读取未定义的属性“0”

我想用jQuery插件TableSorter对我的表进行排序。 所以我得到这张桌子:

Date Annonce Support Nb Assoc. Nb Transfo. Cout

所以你可以看到我的表是空的,只有标题。 所以我用空单元格初始化tableorter:

 $("table#stats").tablesorter({ sortList: [[0,0]]}); 

并立即得到这个错误:

jquery.tablesorter.min.js:4 Uncaught TypeError: Cannot read property '0' of undefined

仅供参考,我的js已加载:

   window.jQuery || document.write('\x3C/script>')    

知道为什么我得到这个以及如何让插件再次工作?

谢谢

在调用sortList方法之前,需要在表中包含数据。 这是因为您在此方法中应用索引,如果没有数据存在则将找不到任何记录,并且将抛出“无法读取属性’0’未定义”错误。

当有一个空表时,使用tablesorter是不好的,所以你可以使用这个条件:

 if ($("table#stats tbody tr").length > 0) $(this).tablesorter({ sortList: [[0,0]]}); 

不需要在表中包含数据。 以这种方式初始化你的表:

 $("table#stats").tablesorter(); 

然后,在表中插入数据后,必须告诉插件表已更新并对其进行排序:

 $("table#stats").trigger("update"); var sorting = [[0,0]]; $("table#stats").trigger("sorton",[sorting]); 

我无法解决任何问题,因此我在tablesorter的初始化时设置了超时…

 setTimeout(function() {$('table').tablesorter();}, 10000); 

我注意到这种情况发生在http://tablesorter.com/上发现的最新版本(我认为是2.0.5b),但它在早期版本中没有发生(我有2.0.3的副本,并且它起作用了)。 但是,在https://github.com/Mottie/tablesorter上有一个分叉版本,维护得更好,并且没有此错误。

我收到错误“无法读取未定义的属性’格式”。 在我的情况下,错误发生是由于’tbody’中’td’的数量不同于’thead’