jQuery.toggle()对很多<TR>元素来说非常慢

adn*_*nek 5 html jquery

我有这样一张桌子:

<table>
    <tr class="a"><td></td></tr>
    <tr class="b"><td></td></tr>
</table>
Run Code Online (Sandbox Code Playgroud)

有近800行,其中大部分属于a类.现在我想像这样切换这些行:

    $("#toggle_a").click(function(){
        $("tr.a").toggle();
    });
    $("#toggle_b").click(function(){
        $("tr.b").toggle();
    });
Run Code Online (Sandbox Code Playgroud)

但这实际上非常缓慢,并且大多数时候浏览器都想停止操作.

有谁知道如何使这件事更快更有用?

And*_*ich 3

似乎是因为 jquery 按类名搜索元素..

注意:类选择器是 jQuery 中最慢的选择器之一;在 IE 中它循环遍历整个 DOM。尽可能避免使用它。

另请查看这篇文章