jquery插件大小和切片不工作

jquery插件大小和切片不工作,jquery,plugins,size,slice,Jquery,Plugins,Size,Slice,我正在创建一个jquery插件,用于对一个表进行排序和分页(我知道有很多这样的插件,我对它们做了很多尝试,但到目前为止没有一个适合我的需要) 无论如何,我的页面上有很多表格,我用以下方法调用我的插件: $('.data-table').tableSorterTwo(); 以下是插件代码: (function($) { $.fn.tableSorterTwo = function() { return this.each(function() {

我正在创建一个jquery插件,用于对一个表进行排序和分页(我知道有很多这样的插件,我对它们做了很多尝试,但到目前为止没有一个适合我的需要)

无论如何,我的页面上有很多表格,我用以下方法调用我的插件:

$('.data-table').tableSorterTwo();
以下是插件代码:

(function($)
{
    $.fn.tableSorterTwo = function()
    {
        return this.each(function()
        {
            countRows($(this));
            hideRows($(this));
        });     
    };

    function countRows(element)
    {
        console.log($(element).find('tbody tr').size());
    }

    function hideRows(element)
    {
        $(element).find('tbody tr').hide().slice(0, 5).show();
    }
})(jQuery);
奇怪的是,大小和切片的工作出乎意料,我无法确定的方式

我有这张6排的桌子<代码>计数行返回18。所有表都会发生这种情况。结果是行数乘以3。为什么呢

hideRows
的结果是意外的。我想显示表的前5行;但是现在(对于每个表),只显示前两行。将5更改为10将显示4行


是我的错误吗?现在,我已经有一段时间不明白这一点了,但我现在完全不知所措了,我非常欢迎你的每一个帮助/提示/建议

根据我的评论,我相信堆栈溢出一直是您的问题,只要问这个问题,您就可以解决它


使用选择器
tbody tr
,我可以确定您的代码的行为与预期一样,但是在问题中将选择器更改为
tbody td
的问题中,对于一个6行、每行3个单元格的表,存在一个轻微的错误。

在这里起作用:正确地将
6
记录到控制台。您确定没有将选择器设置为
t车身td
?一个包含6行和3个单元格的表格将读取
18
,并且只显示
hideRows
中的前2行。谢谢!确实,Stack Overflow是我在这里的泰迪熊(非常好的概念,明天肯定会带一个泰迪熊来上班!)。我在JSFIDLE中粘贴了一个表,发现错误在生成的表中。标签未正确关闭。通过修复,我的问题得到了解决。因为我是这里唯一的开发人员,很容易忽略像这样的简单事情,而且没有一个开发人员(或泰迪熊)让我在自己创建的框之外思考一秒钟。再次感谢!