JQuery七个常犯的错误
1、 乱用选择器
JQuery选择器调用代价很大,反复调用效率更低。应采用缓存对象的方法或采用链式调用的方式。
//错误的写法$("#button").click(function(){ $('#list li').addClass('strong'); $('#list li').css('color','red');});//正确的写法$("#button").click(function(){ $lis = $('#list li'); $lis.addClass('strong'); $lis.css('color','red');});//更好的写法$("#button").click(function(){ $('#list li').addClass('strong').css('color','red');});
2、全局选择效率低
尽量使用上下文(context)查找,避免全局选择的使用。全局选择器会进行整个Doc的查找,效率很低。
//错误的写法$(".active").method();//正确的写法varul = $("#myList");$(".active",ul).method();
3 、复制匿名函数
避免多次复制匿名函数的写法,将匿名函数分离出来,供其它对象多次调用。
//错误的写法$('#myDiv').click(function(){//一些操作});//正确的写法functiondivClickFn(){//一些操作}$('#myDiv').click( divClickFn );
4 、误用ajax的complete
当用ajax进行数据请求时,避免使用complete回调方法,而应该使用success方法。complete回调在请求成功或失败都会触发。
//错误的写法$.ajax({ url:"http://tools.42du.cn/jsonp/student/all",}).complete(function(data){//一些操作});//正确的写法$.ajax({ url:"http://tools.42du.cn/jsonp/student/all",}).success(function(data){//一些操作});
5、 链式调用的误用
采用链式调用的方式会使对象在渐变未完成之前就被移除,即remove方法会在fadeOut方法完成之前调用。当需要第一方法完成之后,再执行第二个方法,请使用回调,即第二种方式。
//错误的写法$("#myDiv").click(function(e){ $(this).fadeOut("slow").remove();});//正确的写法$("myDiv").click(function(e){ $(this).fadeOut("slow",function(){ $(this).remove(); });});
6 、事件多次绑定
如果你绑定(bind)同一事件多次,响应就会被执行多次。为避免多次执行,请先做事件解绑再重新绑定。
//避免响应多次执行$("myDiv").unbind("click").bind("click");
7、错误使用this指示符
this指示符存在于一定的上下文中的,当上下文变化时this指向不同的对象。如果还想调用原上下文中的this,则需要在原上下文中缓存原this对象( $that = $(this) )。
//错误的写法$("#myList").click(function(){ $(this).method(); $("#myList li").each(function(){//this并不指向myList$(this).method2(); })});
欢迎关注我的公众号(同步更新文章):DoNet技术分享平台
阅读原文
JQuery七个常犯的错误相关推荐
- java list top_Java程序员最常犯的错误盘点之Top 10
原标题:Java程序员最常犯的错误盘点之Top 10 人非圣贤,孰能无过.都说Java语言是一门简单的编程语言,基于C++演化而来,剔除了很多C++中的复杂特性,但这并不能保证Java程序员不会犯错. ...
- 十个Python初学者常犯的错误
下面10个Python初学者常犯的错误,并不是真正的代码错误,代码照样可以运行,但是不够Pythonic,因为Python有自己的语言哲学,在代码的处理上有传统语言无法比拟的简洁性和便捷性. 1. ...
- 《小乌龟投资智慧:如何在投资中以弱胜强》书中的精髓:认清投资中常犯的错误,开启智慧投资之路。
<小乌龟投资智慧:如何在投资中以弱胜强>书中的精髓:认清投资中常犯的错误,开启智慧投资之路. 如今,投资理财已经成为了一个绕不开的话题,我们一边想着通过投资赶超通货膨胀率,不要让自己辛苦攒 ...
- 网站设计中常犯的错误
平面 | 包装 | 广告 | 环艺 | 工业 | 网页 | 服装 | 数码 | 摄影 | 绘画 | 人才 | 论坛 | 沙龙 | 字体 首页 网页资讯 网页作品 酷站欣赏 设计文章 网页沙龙 我的空间 ...
- python编程新手常犯的错误_初学者开发人员都会犯的7个Python错误
这篇文章主要介绍了七个初学者常犯的Python调试错误,并告诉大家如何去避免这些错误. 1.具有副作用的功能 由于Python不是像Haskell这样的纯函数式语言,因此会产生副作用. 严格来说,这不 ...
- SV学习笔记—变量及数组随机化约束常犯的错误
目录 1.有符号变量导致的随机化错误 2.变量溢出导致的随机化错误 3.数组的约束 3.1约束数组的size函数 3.2约束数组的sum函数 4.数组约束常犯错误 4.1有符号变量导致的错误 4.2溢 ...
- [Vs提示:不允许使用不完整类型]使用结构体常犯的错误
浪费您各位一点时间 这是关于一个在使用结构体时常犯的错误,错误很简单改正 对于初学者来说,很容易犯,很难发现 首先给出代码,请未来的大佬垂阅 #include <iostream> usi ...
- 别让这7个常犯的错误毁了你的设计
一个成功的项目是一个好的设计.拍案叫绝的内容和一点点运气的结合.很多时候,一个简单的用户体验失误导致了设计的偏离正轨,从而破坏了内容框架甚至混乱了用户界面的预期行为设定.用户很容易不知道自己是怎么进到 ...
- 数据分析中会常犯哪些错误,如何解决的?
错把相关性当成因果性 correlation vs. causation 经典的冰淇凌销量和游泳溺水人数成正比的数据,这并不能说明冰淇凌销量的增加会导致更多的人溺水,而只能说明二者相关,比如因为天热所 ...
最新文章
- HDU 4738 Caocao‘s Bridges(桥、任何位运算一定都要加括号、因为有重边所以用前向星)
- 为什么工作10年你的工资还不如新来的实习生
- Spring Boot如何实现在线预览?这个开源项目可以学习一下,支持99%常用文件!...
- bzoj4514[Sdoi2016]数字配对
- log4net 记录日志到sqlserver
- Delphi编写后台监控软件
- 如何通过反射将字符串转换为类
- java 内存同步_Java中的硬件事务性内存,或者为什么同步将再次变得很棒
- linux redhat 命令大全,redhat Linux命令大全
- 暂不升级iOS 14.2:多款iPhone续航崩溃
- SOUI Text控件不同状态设置不同颜色的方法
- ABB焊接机器人伺服电机维修常见故障
- 带数据库html5游戏教程,html5学习之旅-html5的简易数据库开发(18)-H5教程
- 微博mysql连接错误_新浪微博错误代码详解
- 演讲技巧_成功进行技术演讲的11个重要技巧
- ue4 启用ui_如何实现语音的AI启用ui设计原则
- MAXIMO学习笔记
- 英语preciouscorals贵珊瑚PreciousCorals红珊瑚
- 计算机右键菜单更换顺序,电脑图标排列顺序怎么自己改变了
- et文件怎么转成excel_excel怎么转换成word格式的文件格式?这些方法应该掌握!...
热门文章
- 明晰C++内存分配的五种方法的区别
- get_metrology_object_result_contour查询计量对象的结果轮廓
- 使用getline读入
- 复试计算机网络与软件工程,2018华南理工大学软件工程复试经验贴
- PreparedStatement预编译的sql执行对象
- aggregations 详解1(概述)
- IE(IE6/IE7/IE8)支持HTML5标签--20150216
- Kernel Page Global Directory (PGD) of Page table of Process created in Linux Kernel
- Docker-compose配置Mysql,Redis,MongoDB
- c语言掌上通,计算机二级C语言掌上通在哪下载安装?计算机掌上通好用吗?