Tha*_*ung 6 performance jquery css-selectors jquery-selectors
我有一张大桌子,包含很多行(50-200)和列(30).总共我至少有1500个细胞.我想知道以下哪些指令更快,为什么?
//assuming we have some predefined variable
var table = $('#myTable');
var allCells = table.find('td');
Run Code Online (Sandbox Code Playgroud)
如果选定的单元格有类 selected
selectedCells = table.find('td.selected');
Run Code Online (Sandbox Code Playgroud)
VS
selectedCells = allCells.filter('.selected');
Run Code Online (Sandbox Code Playgroud)
或者是否有更好的原生javascript方式(在性能和可读性方面)找到选定的单元格,考虑到你有1500个单元循环?
Jam*_*lly 11
find()无论如何,这里的filter()方法会更快find().从您的代码:
var allCells = table.find('td');
selectedCells = allCells.filter('.selected');
Run Code Online (Sandbox Code Playgroud)
table.find('td.selected');只拉td取selected类的元素.
table.find('td').filter('.selected')拉所有的td元素,过滤器只与元素selected类.