我有一个大表,包含很多行(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 方式(在性能和可读性方面)来查找选定的单元格?
最佳答案
find()
这里会更快,因为您的 filter()
方法无论如何都依赖于 find()
。从您的代码:
var allCells = table.find('td');
selectedCells = allCells.filter('.selected');
table.find('td.selected');
仅提取具有 selected
类的 td
元素。
table.find('td').filter('.selected')
提取所有 td
元素,然后仅过滤这些元素与选定的
类。
关于jQuery : which is faster in this case (. 查找)与(.filter),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17086901/