Javascript异常:未处理的方法大小()

时间:2017-07-21 10:05:21

标签: javascript jquery

我使用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”

你能看到我在这里看不到的东西吗?谢谢!

3 个答案:

答案 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! 

});

并且,您将知道使用正确的财产!