微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jQuery选择器与局部变量的性能

是否建议,当我需要在函数的范围内多次访问jQuery选择器的结果时,我运行选择器一次并将其分配给局部变量?

原谅我在这里的真实例子,但我认为它说明了这个问题.
那么这个代码会执行得更快吗?

var execute = function(){
    var element = $('.myElement');
    element.css('color','green');
    element.attr('title','My Element');
    element.click(function(){
        console.log('clicked');
    });
}

比这段代码

var execute = function(){
    $('.myElement').css('color','green');
    $('.myElement').attr('title','My Element');
    $('.myElement').click(function(){
        console.log('clicked');
    });
}

如果没有区别,任何人都可以解释为什么?选择jQuery缓存元素后,所以后续的选择器不必再麻烦搜索dom了?

解决方法

重新使用选择器参考,你的第一种情况肯定会更快.这是我作为证明的测试:

http://jsperf.com/caching-jquery-selectors

后一种情况,重新定义您的选择器,报告为〜35%.

原文地址:https://www.jb51.cc/jquery/179558.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐