为许多div分配jQuery选择器

时间:2013-08-14 20:16:36

标签: jquery selector pagespeed

假设你在父div中有100,000个div。只要单击任何这些div,就会初始化jQuery插件。如果为所有这些div分配一个类并将其用作选择器,它会显着降低性能吗?有没有更好的方法这样做,以便您以某种方式将插件本地化到每个单独的div?

2 个答案:

答案 0 :(得分:2)

类不应该显着降低性能。它们只需花费很多时间来阅读它有一个实际上什么都没有的类的事实。实际获取处理能力的操作仅在对div进行更改时发生。无论您如何设置点击监听器,都会发生这种情况。

答案 1 :(得分:1)

将事件绑定到100,000个元素将是性能命中,而不是类(假设类默认存在,而不是由javascript添加。)

事件委托在这里是合适的。

$(someParent).on("click","div.someclass",function(){
    $(this).somePlugin();
});