我使用JQuery的tablesorter对表进行排序,但是我遇到了抛出异常的空表的问题。所以我在我的脚本中添加了一个条件,但现在问题来自于这个条件。 :
.length
例外是:
Javascript执行错误:Object不处理属性或方法大小()
(翻译自法语)
所以我尝试使用$(document).ready(function ($) {
if($("#printerTable").find("tbody").length > 0){
$("#printerTable").tablesorter({ sortList: [[0, 0], [1, 0], [2, 0]] });
}
});
方法,但无济于事
{{1}}
异常变为:
JavaScript执行错误:无法从空引用
获取属性“0”
你能看到我在这里看不到的东西吗?谢谢!
答案 0 :(得分:3)
jQuery的size()
在1.8版中已被弃用,并在jQuery 3.0中被完全删除,原因只是因为原生的length
属性 同样的事情
$(document).ready(function() {
if ( $("#printerTable").find("tbody").length > 0 ) {
$("#printerTable").tablesorter({
sortList: [[0, 0], [1, 0], [2, 0]]
});
}
});
第二个错误与发布的代码实际上并不相关,除非您实际上错过了对tablesorter函数和if
条件的结束。
很可能是tablesorter插件没有收到正确的参数
答案 1 :(得分:1)
$('#printerTable tbody').children().length;
尝试使用children()
方法代替。
我希望它能奏效。
感谢。
答案 2 :(得分:1)
也许当您使用某些属性时,您可以在chrome中尝试它! 比如,这个:
$(document).ready(function ($) {
console.dir($("#printerTable"));
//you will see all the properties!
});
并且,您将知道使用正确的财产!