[转]整理jquery使用好习惯
1.选择器Selector的使用
1)使用id定位性能最好
1.
$(
"#id"
)
2)使用标签名定位,性能其次
1.
$(
"p"
),$(
"div"
),$(
"input"
)
3)使用.class方法对于IE8或者更早版本来说性能很差
1.
$(
".class"
)
4)属性定位性能极差
1.
$(
"[attribute=value]"
)
2.
$(
":hidden"
)
因此组合使用提高性能,减少对dom遍历
1.
$(
"#gbdiv"
).find(
":hidden"
)
2.链式调用
1)坏习惯
1.
$(
"#gbdiv"
).hide();
2.
$(
"#gbdiv"
).css(
"color"
,
"#202020"
);
3.
$(
"#gbdiv"
).show();
2)好习惯
1.
$(
"#gbdiv"
).hide()
2.
.css(
"color"
,
"#202020"
)
3.
.show()
好处在于你不用多次调用$("#gbdiv"),当然,如果你非要这样写,建议你考虑使用缓存方式
3.缓存
1.
var
gbin1=$(
"#gbdiv"
);
2.
gbin1.hide();
3.
gbin1.css(
"color"
,
"#202020"
);
4.
gbin1.show();
4.循环语句
1)坏习惯
1.
var
data = [
"Saab"
,
"Volvo"
,
"BMW"
];
2.
$.each(data,
function
(i, item){
3.
var
newitem=
'<div>'
+ item +
'</div>'
;
4.
$(
"#gbcontainer"
).append(newitem);
5.
});
以上代码中,我们将每一个新添加的tag都作为一个节点添加到容器ID中,实际上jQuery操作节点的成本也不低,更好的方式是尽可能的减少DOM操作
2)好习惯
1.
var
data = [
"Saab"
,
"Volvo"
,
"BMW"
];
2.
var
tmp =
''
;
3.
$.each(data,
function
(i, item){
4.
tmp +=
'<div>'
+ item +
'</div>'
;
5.
});
6.
$(
"#gbcontainer"
).append(tmp);
3)对于字符串特长的,字符串相加在IE6会有性能问题,那就如下
1.
var
data = [
"Saab"
,
"Volvo"
,
"BMW"
];
2.
var
tmp = [];
3.
$.each(data,
function
(i, item){
4.
tmp.push(
'<div>'
+ item +
'</div>'
)
5.
});
6.
$(
"#gbcontainer"
).append(tmp.join(
'\n'
));
5.事件代理
假如gbin1里有1000个div,添加click事件
1)坏习惯
1.
$(
'#gbin1'
).find(
'div'
).click(
function
() {
2.
......
3.
});
你将绑定1000个事件
2)好习惯
1.
$(
'#gbin1'
).on(
'click'
,
'div'
,
function
() {
2.
......
3.
});
使用.on方法,帮助你有效的优化性能:
[转]整理jquery使用好习惯的更多相关文章
- [转]整理jquery开发技巧
1.创建一个嵌套的过滤器 1.$(jquery).filter(":not(:has(.selected))") //去掉所有不包含class为.selected的元素 2.使 ...
- 前端面试题整理—jQuery篇
1.为什么使用jquery,他有哪些好处? 1)轻量级.代码简洁 2)强大的选择器,出色的DOM操作封装 3)有可靠的事件处理机制 4)浏览器兼容性好 5)支持链式操作 6)支持丰富的插件 2.jqu ...
- [整理] jQuery插件开发
1.类级别的插件开发 类级别的插件开发,可似为给jQuery类添加方法,调用方式:$.你的方法(),如:$.ajax() 函数. 1.1.给jQuery类添加方法 $.alertMsg = funct ...
- jQuery选择器使用习惯
http://www.cnblogs.com/fredlau/archive/2009/03/19/1416327.html
- jQuery整理笔记文件夹
jQuery整理笔记文件夹 jQuery整理笔记一----jQuery開始 jQuery整理笔记二----jQuery选择器整理 jQuery整理笔记三----jQuery过滤函数 jQuery整理笔 ...
- 解析Jquery取得iframe中元素的几种方法
iframe在复合文档中经常用到,利用jquery操作iframe可以大幅提高效率,这里收集一些基本操作,需要的朋友可以参考下 DOM方法:父窗口操作IFRAME:window.frames[&q ...
- jQuery 2.0.3 源码分析Sizzle引擎 - 高效查询
为什么Sizzle很高效? 首先,从处理流程上理解,它总是先使用最高效的原生方法来做处理 HTML文档一共有这么四个API: getElementById 上下文只能是HTML文档 浏览器支持情况:I ...
- jQuery从无知到无所不知
说明: 本文以读书笔记的方式整理jQuery的重要知识点,言简意赅,一语中的,删繁就简,引人入胜. 本文先对jQuery强大的功能作一系统的介绍,再详细整理jQuery的选择器.过滤器.DOM操作.事 ...
- 《锋利的Jquery第二版》读书笔记 第一章
按照书本介绍顺序整理jquery库相关的语法.要点. window.onload与$(document).ready()功能类似,前者需要所有资源加载完毕,且不能同时编写多个:后者加载完DOM结构即执 ...
随机推荐
- 在2002年的老电脑上安装Debian
在2002年自己花了家里八千多元买了一台联想昭笔记本电脑.配置是PIII 750 Hz, 128 MB内存(后来升级到了320 MB).那个时候大学里买笔记本电脑的人还不多,宿舍里的同学大都攒的台式机 ...
- 诡异的数学,数字问题 - leetcode
134. Gas Station 那么这题包含两个问题: 1. 能否在环上绕一圈? 2. 如果能,这个起点在哪里? 第一个问题,很简单,我对diff数组做个加和就好了,leftGas = ∑diff[ ...
- 修改searchBar的返回按钮的显示文字
#pragma mark 搜索框的代理方法,搜索输入框获得焦点(聚焦) - (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar { ...
- TCP TIME_WAIT详解
转自:http://m.blog.chinaunix.net/uid-20384806-id-1954363.html TIME_WAIT状态 TCP要保证在所有可能的情况下使得所有的数据都能够正确被 ...
- js的严格模式
严格模式: 严格模式这下的主要区别如下: 严格模式下的好处:
- iOS开发系列-九宫格算法-xib
给大家演示 应用程序下载 小项目,效果图:涉及知识点:懒加载,九宫格算法,字典转模型,自定义UIView ,xib文件的使用 首先把素材拖到Xcode项目中:简单看一下素材文件 此时大家应该首先关注. ...
- UltimateDefrag磁盘碎片整理软件 v3.0.100.19汉化版
软件名称:UltimateDefrag磁盘碎片整理软件 v3.0.100.19汉化版软件类别:汉化软件运行环境:Windows软件语言:简体中文授权方式:免费版软件大小:3.25 MB软件等级:整理时 ...
- extjs中,datefield日期,点击输入框弹出日期,禁止手动输入
之前用readonly:true连日期也选不了了,editable:false也不行,最后用事件监听实现 栗子如下: { xtype: 'datefield', fieldLabel: '创建结束时间 ...
- curl的简单使用步骤
要使用cURL来发送url请求,具体步骤大体分为以下四步: 1.初始化2.设置请求选项3.执行一个cURL会话并且获取相关回复4.释放cURL句柄,关闭一个cURL会话 // 1. 初始化一个cURL ...
- 第一个Android crackme(2016-05)
第一个Android crackme 0x00 背景 最近在学习Android的逆向,把基本的环境搭好后,看了看<第一行代码--Android>,然后就按照非虫大牛的<Android ...