zoukankan      html  css  js  c++  java
  • Jquery执行效率提高的方法

    1.选择器性能排行:$("#ID") > $("Tag") > $(".Class") > $("[attribute=value]")

     

    2.链式调用:

    $("#gbdiv").hide();
    $("#gbdiv").css("color", "#202020");
    $("#gbdiv").show();

    上述代码使用下面的写法,可提高执行效率

    $("#gbdiv").hide();.css("color", "#202020").show();

    3.缓存caching

    $("#gbdiv").hide();
    $("#gbdiv").css("color", "#202020");
    $("#gbdiv").show();

    上述代码使用下面的写法,可提高执行效率

    var gbin1=$("#gbdiv");
    gbin1.hide();
    gbin1.css("color", "#202020");
    gbin1.show();

    4.尽量减少在循环语句中的DOM操作

    var data = ["Saab","Volvo","BMW"];
    $.each(data, function(i, item){
      var newitem='<div>' + item + '</div>';
      $("#gbcontainer").append(newitem);  
    });

    上述代码使用下面的写法,可提高执行效率

    var data = ["Saab","Volvo","BMW"];
    var tmp = ""; 
    $.each(data, function(i, item){
        tmp +='<div>' + item + '</div>';
    });
    $("#gbcontainer").append(tmp);

     

    5.事件代理

    在jQuery1.7中提供了一个新的方式on(),这个方法帮助你将整个事件监听封转到一个便利方法中,这里有个例子:

    $('#gbin1').find('div').click(function() {
        $(this).toggleClass('gbin1');
    });

    这个方法很简单,找到指定ID的div,并且添加或者删除class=gbin1 。

    如果你在#gbin1中有1000个div的话,你将绑定1000个事件。这将带来很负面的性能影响,使用.on方法,你可以重构如下,同样帮助你有效的优化性能:

    $('#gbin1').on('click','div',function() {
        $(this).toggleClass('gbin1');
    });
  • 相关阅读:
    Java并发编程实战3-可见性与volatile关键字
    Java并发编程实战2-线程安全
    Java词频统计
    Java中split的对象被特殊字符(.或|)分隔
    Kernel Space与User Space(转)
    [Python]Pandas简单入门(转)
    Python的自省机制
    谈谈Python中元类Metaclass(二):ORM实践
    Python的垃圾回收机制
    [Python]Pip换源以及设置代理
  • 原文地址:https://www.cnblogs.com/czf-zone/p/3202272.html
Copyright © 2011-2022 走看看