jQuery函数有多贵?

时间:2014-09-03 00:20:01

标签: jquery performance

在我的网站上,我有一个包含数万个单元格的巨大表格(其中一些单元格有一个名为 myClass1 的类)。我们假设该表有100000个单元格。我可以通过以下两种方式之一向所有类 myClass1 的单元格添加一个新类( myClass2 ):

$("#myTable td.myClass1").addClass("myClass2");

或者我可以使用.each():

$("#myTable td").each(function (i) {
    if ($(this).hasClass("myClass1")) {
        $(this).addClass("myClass2");
    }
});

我已经读过.each()很快,但它调用jQuery函数($)2(每循环迭代)x 100000次。即使第一种方法较慢,该网站也不会受到影响 通过调用$ 200000次,这将使第一种方法(调用$ once)更好?还是我离开这里?

1 个答案:

答案 0 :(得分:1)

第一个会更快,因为它使用本机css选择器支持来过滤元素,而第二个我们正在执行手动过滤器。

Benchmark Profile