javascript - jQuery 选择器速度执行

标签 javascript jquery performance

我有一个很大的产品列表,它是动态的并且随着 ajax 的变化而变化。该表中有大约 100 行。

我已经看到选择元素的上下文方法 $('.className', '#parentElement'); 比通常的方法执行得更好 $('.className');$('#parentElement .className');。 (不对请指正)

在某些情况下,我需要使用 jQuery 选择特定元素,动态添加了唯一的 id="product-name-123456"class="mainproductOffer"到每个新行。

那么,这两种方法执行速度更快的是什么?

  1. $('tr[id^=product-name-]').click(function(){...});

  2. $('tr.mainproductOffer').click(function(){...});

有没有其他方法可以更快地做同样的事情?

最佳答案

在这种情况下使用类选择器,它比属性选择器更快。 您应该使用事件委托(delegate) - 例如:

$('table').on('click','.mainproductOffer',function() {}); 

减少事件处理程序的数量。如果类 (mainproductOffer) 仅用于 TR 标签,则也从选择器中删除标签。

关于javascript - jQuery 选择器速度执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14052542/

相关文章:

performance - Prim算法的快速实现

javascript - 根据innerhtml在JS中找到HTML按钮并点击

javascript - 如何解决 Cannot assign to read only property 'exports' of object in react?

javascript - 比较表单中的两个日期

javascript - 同一空间不同方 block 淡入/淡出的正确方法

c++ - 限制值(value)的好方法

javascript - 有没有办法用CSS改变div边框的文字颜色?也许棘手!

javascript - window.opener 没有改变

jquery - Chrome 打印预览失败,带有 jQ​​uery 打印按钮

performance - 在通过节点子集的 2 个节点之间的图中查找最短路径