0

我有一个大表,允许用户根据许多复杂的规则隐藏行。我还有一个“重置”按钮,可以再次显示所有行,但运行速度非常慢:

$('#myTable tbody tr').show('fast');

问:有没有一种快速的方法来显示以前用 hide 方法隐藏的表格行?

也许我应该添加 class="hide" 和 removeClass 代替。

4

1 回答 1

2

您只想显示隐藏的那些,而不是整个集合,如果tr's 是直接tbody子代,则使用子选择器更快,所以试试这个:

$('#myTable tbody > tr:hidden').show('fast');

如果在尝试之后,它对你来说仍然很慢,你可以尝试使用viewport 插件来只为那些实际显示在屏幕上的动画设置动画,如下所示:

$('#myTable tbody > tr:hidden').filter(":in-viewport").show('fast', function() {
   $('#myTable tbody > tr:hidden').show();//show rest tr's that are out of viewport
});

更新:
更新以添加直接子选择器。

于 2012-10-18T18:52:08.027 回答