选择器优化执行的速度

  • 选择器 优先:id>元素>类
  • 使用对象缓存:即使用变量来保存对象名,var $myDiv = $("#myDiv");$myDiv.show();
  • DOM元素查找可给上下文范围;$(exp,[context]);exp--被查询元素,context--范围
    •   var $obj = $("#myDiv");$obj.$(".div000",".myClass");在myClass这个类元素下查找div000元素;
    • 多层查询,使用子查询方式查找,如查询p元素
      <div id="box">
      <span></span>
      <div id="content">
      <p></p>
      </div>
      </div>

        $parent = $("div #content");$child = $parent.find("p");

处理选择器中不规范元素标志;防止有些选择器命名含有特殊字符

  在特殊字符前加入转义符\\;例如:查询"div#2#"的元素;$("div\\#2\\#").html();

data()方法缓存数据;

  •   针对元素定义数据,在元素中存取数据,避免数据被循环引用而出现不必要的风险

循环操作DOM的优化:

  • 一次性对DOM操作,而不是每次循环都操作DOM
  • 例如:动态新增<li>
  • $(function(){
    var arrList = ["list0","list1","list2"];
    var strList = "";
    $.each(arrList,function(index){
    strList = "<li>" + arrList[index] + "</li>"
    });
    $("ul").append(strList);
    }) //而不是 $.each(arrList,function(index){
    $("ul").append( "<li>" + arrList[index] + "</li>");
    });

  

jquery库和其他库冲突,$指向问题;

  • jQuery.noConflict();转移$的使用权;转移后jquery使用本身jquery对象访问

  

data()方法缓存数据,针对于元素定义数据

  • data([name]);存储数据名称
  • data(name,value);
  • data(name,{name1:value1,name2:value2});
  • removeData(name);
         

jquery优化的更多相关文章

  1. 新手必看的jQuery优化笔记十则

    jQuery优化 1.简介 jQuery正在成为Web开发人员首选的JavaScript库,作为Web开发者,除了要了解语言和框架的应用技巧外,如何提升语言本身的性能也是开发人员应该思考的问题.文章就 ...

  2. jquery优化引发的思考

    无意间看到jquery优化的一个细节让我觉得不可思议记录一下.仅仅只是换个地方代码就能提高数倍的效率,带给我的不是个仅是个小技巧,而是一总编程思想,技术大牛往往是在细节上体现. 通过缓存最小化选择操作 ...

  3. jquery优化28个建议

    我一直在寻找有关jQuery性能优化方面的小窍门,能让我那臃肿的动态网页应用变得轻便些.找了很多文章后,我决定将最好最常用的一些优化性能的建议列出来.我也做了一个jQuery性能优化的简明样式表,你可 ...

  4. jquery优化轮播图2

    继续优化 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  5. jQuery优化性能的十种方法

    1,总是从ID选择器开始继承 例如: <div id="content"> <form method="post" action=" ...

  6. jquery优化02

    缓存变量:DOM遍历是昂贵的,所以尽量将会重用的元素缓存. $element = $('#element'); h = $element.height(); //缓存 $element.css('he ...

  7. ☀【jQuery 优化】jQuery基础教程(第3版)

    jQuery代码优化:选择符篇 √ http://www.ituring.com.cn/article/377 jQuery代码优化:遍历篇 √ http://www.ituring.com.cn/a ...

  8. jquery优化01

    查找: children:     find(selector), children(selector): parent:       parent(), parents(selector), clo ...

  9. 15 款优化表单的 jQuery 插件

    网页上的表单提供给用户的一种交互的方式,用户输入数据,提交到服务器,等待后续的处理.这些表单在我们浏览的网页中随处可见,也容易被我们忽略. 比如,“联系我们”页面会提供一个表单给用户填写他们的信息和想 ...

随机推荐

  1. 购物车动画(Android)

    购物车动画(Android) 前言:当我们写商城类的项目的时候,一般都会有加入购物车的功能,加入购物车的时候会有一些抛物线动画,最近做到这个功能,借助别人的demo写了一个. 效果: 开发环境:And ...

  2. 什么是shell? bash和shell有什么关系?

    什么是Shell?      shell是你(用户)和Linux(或者更准确的说,是你和Linux内核)之间的接口程序.你在提示符下输入的每个命令都由shell先解释然后传给Linux内核.      ...

  3. Android之自定义View以及画一个时钟

    https://www.2cto.com/kf/201509/443112.html 概述: 当Android自带的View满足不了开发者时,自定义View就发挥了很好的作用.建立一个自定义View, ...

  4. git revert .vs. git reset .vs. git rebase

    1. git rervert的工作方式是:将一个老的commit的改动完全找出来,并且在新的tip处运行反操作,最终清除老commit的改动: git revert的应用场景多在对public rep ...

  5. C++ Deque(双向队列)

      C++ Deque(双向队列)是一种优化了的.对序列两端元素进行添加和删除操作的基本序列容器.它允许较为快速地随机访问,但它不像vector 把所有的对象保存在一块连续的内存块,而是采用多个连续的 ...

  6. ZT 段祺瑞终生忏悔枪杀学生?

    段祺瑞终生忏悔枪杀学生?http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece76310528c315c4380146080955468d4e4 ...

  7. MATLAB基础指令操作

    由于课程实验需要学习使用了MATLAB,在此记录一下MATLAB的基本操作和命令,供参考与查阅. 学习过程中的资料也链接如下: MATLAB矩阵运算:https://wenku.baidu.com/v ...

  8. Windows环境双系统安装环境配置

    (最惊喜的事情莫过于...在安装系统完成重新试图安装Docker时解决了关于HyperV的问题,结果提示Docker只能在Win10 Pro或者Enterprise环境下运行...我很坚强...可以按 ...

  9. Django 创建model的一些注意事项

    自增主键字段¶ 默认情况下,Django 会给每个模型添加下面这个字段: id = models.AutoField(primary_key=True) 这是一个自增主键字段. 如果你想指定一个自定义 ...

  10. Could not publish to the server. null argument:

    启动tomcat或clean tomcat报错:Could not publish to the server. null argument: Could not publish to the ser ...