[转]整理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.vargbin1=$("#gbdiv"); 2.gbin1.hide();
3.gbin1.css("color", "#202020");
4.gbin1.show();4.循环语句
1)坏习惯
1.vardata = ["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.vardata = ["Saab","Volvo","BMW"];
2.vartmp = '';
3.$.each(data,
function(i, item){
4. tmp +='<div>' + item + '</div>';
5.});
6.$("#gbcontainer").append(tmp); 3)对于字符串特长的,字符串相加在IE6会有性能问题,那就如下
1.vardata = ["Saab","Volvo","BMW"];
2.vartmp = []; 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结构即执 ...
随机推荐
- delphi 程序输出文件夹存放位置
- 解决 maven项目问题 An error occurred while filtering resources
解决方法: Maven -> Update Project.
- MyBatis 3 与 Spring 4 整合关键
MyBatis 3 与 Spring 4 整合关键 MyBatis与Spring整合,首先需要一个Spring数据源.其次有两个关键,配置sqlSessionFactory时需要配置扫描sql映射xm ...
- 超实用 JS 代码段笔记(一)
序1:30段简单代码段(有删减) 1 . 区分 IE 和 非 IE 浏览器 if(!+[1,]){ console.log('ie浏览器'); }else{ console.log('非ie浏览器') ...
- JQuery笔记(三)选项卡
通过jq封装的方法,可以更简单的制作一个选项卡 <!DOCTYPE html> <html lang="en"> <head> <meta ...
- 疯狂java讲义--笔记
第一章.Java语言概述与开发环境 什么是软件:一系列按照特定顺序组织的计算机数据和指令的集合: 交互方式:两种 GUI(Graphical User Interface) 图像界面 .CLI (Co ...
- selenium+python在Windows的环境搭建
1 python下载安装 python早已安装,不再多说.因为开发使用的python2.7,所以同样使用2.7 2 打开Powershell, 输入python -m pip install sele ...
- HDU 5033 Building(单调栈)
HDU 5033 Building(单调栈) 题目链接http://acm.hdu.edu.cn/showproblem.php?pid=5033 Description Once upon a ti ...
- 我喜欢的两个js类实现方式
闭包实现 变量是不会变的:) var myApplication = function(){ var name = 'Yuri'; var age = '34'; var status = 'sing ...
- Struts2 Spring3 Hibernate3 集成xml版本
Struts2 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互 ...