jQuery : which is faster in this case (. 查找)与(.filter)

标签 jquery performance jquery-selectors css-selectors

我有一个大表,包含很多行(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/

相关文章:

jQuery - 从动态创建的输入中获取值

javascript - 如何使用 jQuery 或简单的 js 调用简单的 WCF 服务

javascript - 如何在 mouseout 事件完成之前强制触发 mouseover 事件

jQuery UI 在拖放时获取可拖动 div 中元素的属性 :

jQuery 选择器 : exclusive OR

javascript - 为什么 'value' 的 Jquery 选择器在动态变化的情况下不起作用

javascript - DateTimePicker Bootstrap 在模糊时隐藏输入字段

javascript - 如何在javascript中存储大量数据

sql - 为什么 'delete from table' 需要 0 时间而 'truncate table' 需要很长时间?

php - 下载多个网址的最快方法