Jquery 技术小结
前记:
现在项目中经常要用到JS去操作一些事,对整个团队开发来说,JS的书写规范和正确对开发具有较大的帮助。在一个团队中常常会发生JS书写的不统一性和游览器不兼容性等情况发生。我觉的最好的方法就是有一个统一的书写规范和一个具有良好的兼容性和扩展性的JS库作为我们开发的基层,以提高我们团队的开发速度和各项性能。
对于我本人来说,从一开始的直接写Javascript方法到使用ExtJS 还有 Jquery类库,感触到以下几点:
1、 必须要有良好的JS基础,多多写基础的Javascript方法;
2、 具备良好的JS基础后,可以尝试使用Jquery、ExtJS等大师们写的类库,因为他们都是以JS为基础写的,而且都经历了兼容性、稳定性、规范性等等的测试,而且具有良好的集成和扩展性,为我们提供了一个可以规范使用,并且让我们省时省力;
3、 有了新的挑战不要怕,先分析难点,然后利用JS方法一步步解决;
我首先推荐Jquery类库,它让我们开发变的轻松容易。
优点:(网上找的)
1、 我们可以实现灵活性非常强的清晰页面代码。jQuery让JavaScript代码从HTML页面代码中分离出来,就像数年前CSS让样式代码与页面代码分离开一样。
2、 最少的代码做最多的事情,这是jQuery的口号,而且名副其实。使用它的高级selector,开发者只需编写几行代码就能实现令人惊奇的效果。开发者无需过于担忧浏览器差异,它除了还完全支持Ajax,而且拥有许多提高开发者编程效率的其它抽象概念。jQuery把JavaScript带到了一个更高的层次。
3、 在大型JavaScript框架中,jQuery对性能的理解最好。尽管不同版本拥有众多新功能,其最精简版本只有18KB大小,这个数字已经很难再减少。jQuery的每一个版本都有重大性能提高。如果将其与新一代具有更快JavaScript引擎的浏览器(如火狐3和谷歌Chrome)配合使用,开发者在创建富体验Web应用时将拥有全新速度优势。
4、 JS”””” 标准”,之所以使用引号,是以为jQuery并非一个官方标准。但是业内对jQuery的支持已经非常广泛。谷歌不但自己使用它,还提供给用户使用。另外戴尔、新闻聚合网站Digg、WordPress、Mozilla和许多其它厂商也在使用它。微软甚至将它整合到Visual Studio中。如此多的重量级厂商支持该框架,用户大可以对其未来放心,大胆的对其投入时间。
5、 基于jQuery开发的插件目前已经有大约数千个。开发者可使用插件来进行表单确认、图表种类、字段提示、动画、进度条等任务。jQuery社区已经成长为一个生态系统。这一点进一步证明了上一条理由,它是一个安全的选择。而且,jQuery正在主动与“竞争对手”合作,例如Prototype。它们似乎在推进JavaScript的整体发展,而不仅仅是在图谋一己之私。
6、 要想真正学习jQuery,开发者还是需要投入一点时间,尤其是如果你要编写大量代码或自主插件的话,更是如此。但是,开发者可以采取“各个击破”的方式,而且jQuery提供了大量示例代码,入门是一件非常容易的事情。我建议开发者在自己编写某类代码前,首先看一下是否有类似插件,然后看一下实际的插件代码,了解一下其工作原理。简而言之,学习jQuery不需要开发者投入太多,就能够迅速开始开发工作,然后逐渐提高技巧
7、 我发现使用jQuery是一件充满乐趣的事情。它简洁而强大,开发者能够迅速得到自己想要的结果。它解决了许多JavaScript问题和难题。我过去曾讨厌JavaScript编程,但现在却非常喜欢它。通过一些基础性的改进,开发者可以真正去思考开发下一代Web应用,不再因为语言或工具的差劲而烦恼。我相信它的“最少的代码做最多的事情”口号
为了节约开发和查找使用Jquery方法时间,以下将经常用到的一些Jquery 方法和注意点记录,以备大家查询和自己的查询。
一、查找对象()
JS:document.getElementById(“divID”)
JQ:$(“#divID”)
JS: document.getElementsByTagName(“input”)
JQ:$(“input”)
JS:暂无取className
JQ: $(“.className”)
当取得对象后,可以操作他们的属性;当存在多个对象时可以利用.eq(i)的方法取得各个对象。取各项值为:.text() 取innerText值 .html() 取innerHTML内容 .val()取值
二、判断对象是否为空
JS:if(document.getElementById(‘ID’)==null)
Jq: if($(“#ID”). length==0)
三、Jquery Ajax 使用方法
JQuery提供了一系列的全局方法对XMLHttpRequest对象进行了封装,在进行Ajax开发过程中再也不用担心浏览器客户端的不致性问题了。
一、$.ajax(options)
它是最根本的JQuery Ajax方法,它只有一个参数options,该options参数中包含了请求信息和回调函数的信息。参数内容都是key:value对形式出现,并且都是可选的。
语法:
$.ajax({options});
url:(string)发送请求的地址,可以是服务器页面也可以是WebService动作。
type:(string)请求方式,POST或GET
data:(object)向服务器发送请求时带去的数据。是key:value对形式,如:{name:"grayworm",sex:"male"},如果是数组{works:["work1","work2"]}
dataType:(string)预期返回的数据类型。xml,html,json,text等
beforeSend:(Function)发送ajax请求前被触发,如果返回false则取消本次请求。如果异步请求需要显示gif动画,那应当在这里设置相应<img>的可见。
function(XMLHttpRequest){ }
complete:(Function)请求调用完成后的回调函数(请求成功或失败时均调用),如果异步请求显示gif动画,那应当在这里设置相应的<img>不可见。
function(XMLHttpRequest,textStatus){
//textStatus是描述返回状态的字符串
}
success:(Function)请求执行成功时的回调函数
function(data,textStatus){
//data是服务端返回的数据可以是xml、json、text等格式
//textStatus是描述返回状态的字符串
}
error:(Function)请求执行失败时的回调函数
function(XMLHttpRequest,textStatus,errorThrown){
//data是服务端返回的数据可以是xml、json、text等格式
//textStatus,errorThrown是描述返回状态的信息
}
四、Jquery 设置对象属性
Jq:$(“#ID”).attr(“html”,”<b>我要加粗</b>”) 用attr 这个属性来处理。
$(“#ID”).show(); $(“#ID”).hide() 对应 style=”display:none/block”;
五、 window.onload=function (){}çè$(function(){….}) onload 执行
六、事件处理,onclick hover 等事件,比较实用
click(fn) dblclick(fn) mousedown(fn) mousemove(fn)
mouseout(fn) mouseover(fn) mouseup(fn) hover(fn)
七、以后有新的知识点,慢慢上传完善
PS:希望我们JS开发规范化,以后的JS代码统一放到JS文件中,然后作JS混淆处理,这一点我也经常偷懒,否则的话会出现安全漏洞,【暴露参数,暴露url地址】。
Jquery 技术小结的更多相关文章
- 《jQuery技术内幕:深入解析jQuery架构设计与实现原理》
<jQuery技术内幕:深入解析jQuery架构设计与实现原理> 基本信息 作者: 高云 出版社:机械工业出版社 ISBN:9787111440826 上架时间:2014-1-10 出版日 ...
- [转载]JavaEE学习篇之——JQuery技术详解
原文链接:http://blog.csdn.net/jiangwei0910410003/article/details/32102187 1.简介2.工具3.jQuery对象 1.DOM对象转化成j ...
- 15个实用的jQuery技术
JQuery是目前最流行的JavaScript框架之一,可以显著的提高用户与网络应用的交互. 今天为大家介绍50有用的jQuery技术: 1.移动Box 2.滑动框和标题 3.数据的可视化:使用HTM ...
- CURL使用HTTPS的技术小结
摘自http://www.51testing.com/html/14/175414-248202.html CURL使用HTTPS的技术小结 cURL是linux下命令行提交HTTP(S)请求的一个很 ...
- “声讨”高云的《jQuery技术内幕》
1. 前言: 其实本文有点太标题党了,哈哈,见谅.说“声讨”,就是说说我作为一个<jQuery技术内幕>一个忠实读者,读本书的一些想法和建议. 2014年2月20日,我收到了<jQu ...
- 利用HTML5与jQuery技术创建一个简单的自动表单完成
来源:GBin1.com 在线演示 在线下载 谷歌快速搜索自带大量自动完成插件——库中甚至还有一个附带的jQuery UI共享选项.然而今天我要寻找一个替代的解决方案.由DevBridge开发的j ...
- Canvas:技术小结
Canvas:技术小结 资料 [教程:MDN官方中文教程] https://developer.mozilla.org/zh-CN/docs/Web/API/Canvas_API/Tutorial [ ...
- J2EE学习篇之--JQuery技术具体解释
前面我们解说了的J2EE的技术都是服务端的技术,以下我们来看一下前端的一些开发技术,这一篇我们来看一下jQuery技术 简单介绍: jQuery由美国人John Resig创建,至今已吸引了来自世界各 ...
- 基于asp.net(C#)MVC+前端bootstrap+ztree+lodash+jquery技术-Angel工作室通用权限管理
一.Angel工作室简单通用权限系统简介 AngelRM(Asp.net MVC Web api)是基于asp.net(C#)MVC+前端bootstrap+ztree+lodash+jquery技术 ...
随机推荐
- python添加tab键自动补全功能
默认python是没有tab键补全功能的: >>> import tab Traceback (most recent call last): File "<stdi ...
- Unix环境高级编程(十五)高级I/O
1.非阻塞I/O 对低速设备的I/O操作可能会使进程永久阻塞,这类系统调用主要有如下情况:(1)如果数据并不存在,则读文件可能会使调用者永远阻塞(例如读管道.终端设备和网络设备).(2)如果数据不能立 ...
- linux write系统调用如何实现
在Linux下我们在使用设备的时候,都会用到write这个函数,通过这个函数我们可以象使用文件那样向设备传送数据.可是为什么用户使用write函数就可以把数据写到设备里面去,这个过程到底是怎么实现的呢 ...
- Linux内核(15) - 方法论
什么是方法论 方法论给人的第一感觉就是它是一个玄之又玄的很朦胧的东西,显然,学习本身就是一件很玄乎的事情,有些人整天潇潇洒洒没见怎么用心就能够获得很好的成绩,而有些人则相反,投悬梁锥刺骨也还是成绩平平 ...
- Android仿联系人列表分组悬浮列表实现,自己定义PinnedHeaderListView实现
效果 (关于gif怎么生成的.我先录手机的屏幕得到mp4文件.然后用这个网址:https://cloudconvert.com/mp4-to-gif 进行的mp4转换gif,使用的时候须要又一次选择g ...
- Python 列表 append() 方法
描述 Python 列表 append() 方法用于在列表末尾追加新的对象. 语法 append() 方法语法: L.append(obj) 参数 obj -- 追加到列表末尾的对象. 返回值 该方法 ...
- Linux下安装配置Redis
一 下载并安装 (1)下载: [root@localhost src]# wget http://download.redis.io/releases/redis-3.2.5.tar.gz (2)安装 ...
- 通过GUID生成可持久化的PID
byte[] buffer = Guid.NewGuid().ToByteArray(); ); GUID是微软针对UUID的实现,直接生成会大于long类型的最大长度. 但只要转换一下即可
- 【Android】3.2 基本地图功能
分类:C#.Android: 日期:2016-02-04 3.2 示例2--基本地图功能 一.简介 1.地图 地图展示:普通地图(2D,3D).卫星图和实时交通图. 地图操作:可通过接口或手势控制来实 ...
- STL_算法_查找算法(lower_bound、upper_bound、equal_range)
C++ Primer 学习中. .. 简单记录下我的学习过程 (代码为主) //全部容器适用(O(log(n))) 已序区间查找算法 lower_bound() //找第一个符合的 ...