我有一个大表,允许用户根据许多复杂的规则隐藏行。我还有一个“重置”按钮,可以再次显示所有行,但运行速度非常慢:
$('#myTable tbody tr').show('fast');
问:有没有一种快速的方法来显示以前用 hide 方法隐藏的表格行?
也许我应该添加 class="hide" 和 removeClass 代替。
我有一个大表,允许用户根据许多复杂的规则隐藏行。我还有一个“重置”按钮,可以再次显示所有行,但运行速度非常慢:
$('#myTable tbody tr').show('fast');
问:有没有一种快速的方法来显示以前用 hide 方法隐藏的表格行?
也许我应该添加 class="hide" 和 removeClass 代替。
您只想显示隐藏的那些,而不是整个集合,如果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
});
更新:
更新以添加直接子选择器。