8

我有一张大桌子,里面有很多行(50-200)和列(30)。所以我总共有至少 1500 个细胞。我想知道以下哪些指令更快,为什么?

//assuming we have some predefined variable
var table = $('#myTable');
var allCells = table.find('td');

如果选定的单元格有一个类selected

selectedCells = table.find('td.selected');

对比

selectedCells = allCells.filter('.selected');

或者考虑到您有 1500 个要循环的单元格,是否有更好的原生 javascript 方式(在性能和可读性方面)来查找选定的单元格?

4

1 回答 1

12

find()这里会更快,因为无论如何您的filter()方法都依赖于此。find()从您的代码:

var allCells = table.find('td');

selectedCells = allCells.filter('.selected');

table.find('td.selected');仅拉取类中的td元素selected

table.find('td').filter('.selected')拉出所有td元素,然后仅过滤具有selected该类的元素。

于 2013-06-13T12:20:48.353 回答