在表行上使用jquerytoggle函数可以使表本身增长

在表行上使用jquerytoggle函数可以使表本身增长,jquery,tablerow,Jquery,Tablerow,我正在使用与1个表行的click()事件挂钩的jQuery切换效果来切换下一行的可见性(这也恰好是表中的最后一行)。如果我连续多次单击触发行,则每次显示切换行时,包含这两行的表都会增长一点 下面是我使用的jQuery: $(document).ready(function() { $(".sectionhead").click( function() { $(this).next("tr").toggle("150"); }); }); 因此,经过几次迭代后,表

我正在使用与1个表行的click()事件挂钩的jQuery切换效果来切换下一行的可见性(这也恰好是表中的最后一行)。如果我连续多次单击触发行,则每次显示切换行时,包含这两行的表都会增长一点

下面是我使用的jQuery:

$(document).ready(function() {
    $(".sectionhead").click( function() {
        $(this).next("tr").toggle("150");
    });
});
因此,经过几次迭代后,表(其中只有tr.sectionhead行可见)相当大

有没有一种内置的方法可以避免这种行为,或者在jQuery中有没有比我现在做的更简单的方法

编辑

我的实际解决方案由ScottE在下面的回答提出(我不想对我正在切换的tr进行分类,它将从一开始就可见):


在不同的浏览器之间切换TRs有些奇怪。如果在FF的表格中放置border=“1”,您将看到当前编码的切换是如何工作(或不工作)的

如果您使用切换(fn,fn),它似乎在FF和IE7中工作。IE8可能是一个不同的故事,所以也要检查一下。如果是这种情况,则显示修复

下面假设您的CSS中存在tfoot tr{display:none;}

$(function() {

    var $tr = $("tfoot tr");

    $(".sectionhead").toggle(
        function() {
            $tr.show();
        },
        function() {
            $tr.hide();
        }
    );

});

在不同的浏览器之间切换TRs有些奇怪。如果在FF的表格中放置border=“1”,您将看到当前编码的切换是如何工作(或不工作)的

如果您使用切换(fn,fn),它似乎在FF和IE7中工作。IE8可能是一个不同的故事,所以也要检查一下。如果是这种情况,则显示修复

下面假设您的CSS中存在tfoot tr{display:none;}

$(function() {

    var $tr = $("tfoot tr");

    $(".sectionhead").toggle(
        function() {
            $tr.show();
        },
        function() {
            $tr.hide();
        }
    );

});

我认为您不想使用toggle(),因为toggle将使用show()方法并将元素显示设置为“block”。在这种情况下,我认为您希望有一些更为自定义的设置,将tr显示设置为“表行”。

我认为您不希望使用toggle(),因为toggle将使用show()方法并将元素显示设置为“block”。在这种情况下,我认为您需要一些更自定义的设置,将tr显示设置为“表行”。

您使用的是什么浏览器,我们可以看到一些html/css吗?您使用的是什么浏览器,我们可以看到一些html/css吗?完美的解决方案,谢谢!完美的解决方案,谢谢!啊,我刚刚看到斯科特的回答对你有用,所以很明显我走错了方向。很高兴它被修复了:)啊,我刚刚看到斯科特的回答对你有效,所以很明显我走错了方向。很高兴修好了:)