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');
    });
  • 相关阅读:
    树-构建二叉树
    爬虫-scrapy框架详解(17)
    How to identify the HBA cards/ports and WWN in Linux
    NetBackup常用网络端口整理
    keepalived+MySQL实现高可用
    nginx配置https双向验证(ca机构证书+自签证书)
    systemd设置nginx开机自启动
    Keepalived+Nginx搭建主从高可用并带nginx检测
    windows 挂在EMC 存储
    linux时间同步,ntpd、ntpdate
  • 原文地址:https://www.cnblogs.com/czf-zone/p/3202272.html
Copyright © 2011-2022 走看看