我使用 JQuery 的表排序器对表进行排序,但我遇到了空表抛出异常的问题。所以我在脚本中添加了一个条件,但现在问题出在条件上。 :
$(document).ready(function ($) {
if($("#printerTable").find("tbody").size()>0){
$("#printerTable").tablesorter({ sortList: [[0, 0], [1, 0], [2, 0]]
});
异常(exception)是:
Javascript execution error : The Object doesn't handle property or method size()
(翻译自法语)
所以我尝试使用.length
方法代替,但无济于事
$(document).ready(function ($) {
if($("#printerTable").find("tbody").length > 0){
$("#printerTable").tablesorter({ sortList: [[0, 0], [1, 0], [2, 0]] });
}
});
异常变为:
JavaScript Execution error : impossible to obtain property "0" from a null reference
你能看到我在这里看不到的东西吗?谢谢!
最佳答案
jQuery 的 size()
在 1.8 版本中已被弃用,并在 jQuery 3.0 中被完全删除,仅仅是因为 native length
属性 做同样的事情
$(document).ready(function() {
if ( $("#printerTable").find("tbody").length > 0 ) {
$("#printerTable").tablesorter({
sortList: [[0, 0], [1, 0], [2, 0]]
});
}
});
第二个错误与发布的代码并不真正相关,除非您实际上错过了 tablesorter 函数的结束和 if
条件。
很可能是 tablesorter 插件没有收到正确的参数
关于JavaScript 异常 : unhandled method size(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45234857/