jquery优化
选择器优化执行的速度
- 选择器 优先: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优化的更多相关文章
- 新手必看的jQuery优化笔记十则
jQuery优化 1.简介 jQuery正在成为Web开发人员首选的JavaScript库,作为Web开发者,除了要了解语言和框架的应用技巧外,如何提升语言本身的性能也是开发人员应该思考的问题.文章就 ...
- jquery优化引发的思考
无意间看到jquery优化的一个细节让我觉得不可思议记录一下.仅仅只是换个地方代码就能提高数倍的效率,带给我的不是个仅是个小技巧,而是一总编程思想,技术大牛往往是在细节上体现. 通过缓存最小化选择操作 ...
- jquery优化28个建议
我一直在寻找有关jQuery性能优化方面的小窍门,能让我那臃肿的动态网页应用变得轻便些.找了很多文章后,我决定将最好最常用的一些优化性能的建议列出来.我也做了一个jQuery性能优化的简明样式表,你可 ...
- jquery优化轮播图2
继续优化 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...
- jQuery优化性能的十种方法
1,总是从ID选择器开始继承 例如: <div id="content"> <form method="post" action=" ...
- jquery优化02
缓存变量:DOM遍历是昂贵的,所以尽量将会重用的元素缓存. $element = $('#element'); h = $element.height(); //缓存 $element.css('he ...
- ☀【jQuery 优化】jQuery基础教程(第3版)
jQuery代码优化:选择符篇 √ http://www.ituring.com.cn/article/377 jQuery代码优化:遍历篇 √ http://www.ituring.com.cn/a ...
- jquery优化01
查找: children: find(selector), children(selector): parent: parent(), parents(selector), clo ...
- 15 款优化表单的 jQuery 插件
网页上的表单提供给用户的一种交互的方式,用户输入数据,提交到服务器,等待后续的处理.这些表单在我们浏览的网页中随处可见,也容易被我们忽略. 比如,“联系我们”页面会提供一个表单给用户填写他们的信息和想 ...
随机推荐
- Windows IO 性能简单测试
转自:http://bbs.csdn.net/topics/360111289, 有改动. #include <windows.h> #include <stdio.h> #i ...
- Netty入门4之----如何实现长连接
前面三章介绍了Netty的一些基本用法,这一章介绍怎么使用Netty来实现一个简单的长连接demo. 关于长连接的背景知识,可以参考<如何使用Socket实现长连接> 一个简单的长 ...
- Log4j的配置文件
附:Log4j比较全面的配置 Log4j配置文件实现了输出到控制台.文件.回滚文件.发送日志邮件.输出到数据库日志表.自定义标签等全套功能. log4j.rootLogger=DEBUG,consol ...
- Eclipse如何设置编译文件.class输出路径
1.首先我发现我的eclipse中-->project-->build automatically 是勾选上的.好吧,把把前面的勾去掉. 2去掉以后我先clean --> Clean ...
- Web API 2 入门——使用Web API与ASP.NET Web窗体(谷歌翻译)
在这篇文章中 概观 创建Web窗体项目 创建模型和控制器 添加路由信息 添加客户端AJAX 作者:Mike Wasson 虽然ASP.NET Web API与ASP.NET MVC打包在一起,但很容易 ...
- DevExpress GridControl如何取消默认的显示方式
DevExpress GridControl如何取消默认的显示方式,就是表格中好像还嵌套了一个表格,下面有个折叠‘+’按钮,我需要显示的是就是单表格的样式效果. 默认的样式如图: 我需要显示的效果图: ...
- [问题记录]cocos2dx编译打包apk过程&问题记录
目录: 1. 入门 2. 编译 3. 问题 4. 总结 5. 参考 ------------------------------------------------------------------ ...
- [问题记录]libpomelo编译报错:ssize_t重定义
1. 时间:2015/01/16 描述:添加libpomelo到cocos2dx项目,报错如下图所示: 解决: 修改代码,源代码: #if !defined(_SSIZE_T_) && ...
- dll的制作
https://blog.csdn.net/guanchanghui/article/details/1621031
- nginx限制IP恶意调用短信接口处理方法
真实案例: 查看nginx日志,发现别有用心的人恶意调用API接口刷短信: /Jun/::: +] "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) ...