成都网站建设
|
域名注册
|
虚拟主机
|
网站制作
|
网站案例
|
网站优化
|
网站推广
|
企业邮局
|
服务器租用
|
广告设计
首页
域名注册
虚拟主机
网站建设
服务器租用
营销推广
网站程序
前端开发
移动互联网
企业邮箱
广告设计
|
成都VI设计
|
画册设计制作
|
成都包装设计
|
网页设计
|
成都虚拟主机
|
网站建设
|
营销型网站建设
前端开发
html
div+css
css
jQuery
JavaScript教程
ajax教程
XML教程
json教程
bootstrap教程
域名注册
英文域名
中文域名
域名转入\转出
通用网址
无线网址
虚拟主机
主机购买
数据库
主机管理
FTP上传
主机续费升级
网站建设
网站策划
网站方案
网页设计
网站制作
网站改版
服务器租用
web服务器
FTP服务器
服务器租用
服务器托管
云主机服务器
营销推广
seo优化
网站推广
搜索引擎
免费资源
网站程序
vb编程
asp程序
php程序
asp.net程序
C#程序
移动互联网
wap手机网站
app应用开发
微网站
企业邮箱
企业邮箱优势
企业邮箱设置
邮箱收发问题
邮箱功能讲解
邮箱其他问题
网站备案
备案流程指南
备案资料下载
备案常见问题
各省备案要求
当前位置:
创新互联
>>
常见问题
>>
前端开发
>>
jQuery
>>
jQuery 1.4新特性及其变化
jQuery 1.4新特性及其变化
作者:创新互联 文章来源:前端开发 点击数:
更新时间:2008-04-12
为庆祝
jQuery
的四周年生日,jQuery官方团队正式发布了jQuery 1.4版本。在这个版本中,jQuery官方团队做了大量的编码、测试和文档工作,相对之前版本自然改进不少,让我们一起来看看有那些新变化吧。
本文分上下两篇,上篇主要总体介绍
jQuery
1.4版本的相关使用及更新,下篇通过一些代码示例来展示更新的方法及新添加的方法。
像以往一样,官方提供了jQuery的两份拷贝,一份是压缩版本(使用
Google
Closure Compiler压缩,之前使用的是YUI),另一份是未压缩版本(用来调试和阅读)。
jQuery
压缩版本(23kb,gzip压缩后)
jQuery
未压缩版本(154kb)
之前曾提议过 通过google
服务器
加载jQuery,提高加载速度。现在,我们依然可以通过
Google
的服务器调用压缩后的jQuery 1.4版本文件,如下:
【新特性及变化】
在
jQuery
1.4中,许多常用的jQuery方法被重写,这些改进不仅更易用,也带来了性能的显著提升。
注:以下为概述,不详之处参见下篇的代码解释。
1、为一些方法添加设置函数(Setter Functions)
在之前版本中,我们可以给attr()方法传入一个函数,将函数的返回值赋予某个属性。1.4中,这个功能被添加到了更多的方法中:.css()、 .attr()、 .val()、 .html()、 .text()、 .append()、.prepend()、 .before()、 .after()、.replaceWith(), .wrap()、 .wrapInner()、 .offset()、 .addClass()、 .removeClass()、 .toggleClass()。
此外,在下面方法中,还可以传入当前值作为设置函数的第二个参数,供设置函数使用:.css()、.attr()、.val()、.html()、.text()、.append()、.prepend()、.offset()、.addClass()、.removeClass()、和 .toggleClass()。例如:
jQuery('<img alt="enter your name" src="enter.png" />')
.attr("alt", function(index, value) {
return "Please, " + value;
});
2、更新了jQuery中序列化的核心方法jQuery.param()
之前对于{foo: ["bar", "baz"]}序列化后的结果是“foo=bar&foo=baz”,现在为“foo[]=bar&foo[]=baz”。
这样更改的目的主要是告诉接收端,传入的是一个数组对象。
3、在jQuery.ajax 中可在不指定dataType属性时,会根据response的content-type自动识别。
例如:ajax请求返回的对象是json类型(application/json),则dataType会自动指定为”json”(不指定的情况下)。
4、在jQuery.ajax请求中,添加对Etag的支持。
之前
jQuery
在ajax请求中是在header中不发送If-None-Match值的(也就是不支持Etag),也就默认忽略了浏览器缓存。现在可以通过指定ifModified属性开启它。
提示:如果您不了解http header的相关知识,推荐阅读这篇文章。
5、使用原生的JSON.parse,对json进行严格解析
在1.3及更早版本中,
jQuery
通过javascript的eval方法来解析json对象。在1.4中,如果你用的浏览器支持,则会使用原生的JSON.parse进行json对象解析,这样对json对象的书写验证则更为严格。如:{foo: “bar”}的写法将不会被验证为合法的json对象,必须写成{”foo”: “bar”}。如果你的程序打算升级到1.4版本,那么这一点要尤其注意了。
6、在使用.serialize() 序列化时,添加对HTML5元素的支持
7、为ajax请求添加上下文支持,参考jQuery.ajax()
jQuery.ajax({
url: "test.html",
context: document.body,
success: function(){
jQuery(this).addClass("done");
}
});
8、在jQuery.ajax()请求时,接收XMLHttpRequest对象作为success的第三个参数
9、在ajax请求时,总是设定Content-Type属性
在1.3版本中,如果ajax发送的数据为空时,则不发送Content-Type属性值,1.4中则总是显式设定Content-Type值。这是因为有些程序后端通过Content-Type值判断如何响应。
10、当用jsonp方式进行ajax请求时,可以显式指定callback的名称之前jsonp的callback名称是由jQuery生成的随机名称,现在可以通过jsonpCallback参数显式指定
11、部分
CSS
相关方法被重写。
其中,.css()方法效率有两倍的提升, .addClass()、.removeClass()和.hasClass()效率有三倍的提升。.toggleClass() 方法可以一次切换多个class $("div").toggleClass("current active");
12、在jQuery 1.4中,许多dom操作相关方法在性能上大幅提升
其中.append()、 .prepend()、.before()、和 .after() 的性能被改善,
.html() 的性能提升了近3倍。
.remove() 和 .empty()的性能提升了近4倍。
13、jQuery(”tag”)效率有所提升
当传入一个tag名称进行寻找时,搜索算法有所改进 。
14、使用id开始的选择器获取元素的速度进一步提升
类似于jQuery(’#id p’)这样以id开始的选择器获取元素的速度有所优化,速度是最快的。
15、jQuery()(或$())将返回jQuery空对象
在之前当调用jQuery()时,默认返回的是document的jQuery对象,也就是等价于jQuery(’document’)。在1.4版本中将不再做这样的转换,直接返回jQuery空对象。
在1.4中,之前jQuery().ready()的写法不建议使用(虽然仍然可以用),应当写作jQuery(document).ready()或jQuery(function(){})
16、添加了新事件.focusin()和.focusout()
.focusin()和.focusout()方法等价于focus()和blur()方法,不同的是支持事件冒泡。需要注意的是focus()和blur()事件依然不可以通过live()方法绑定。
17、几乎所有事件都支持live()绑定
除了ready、focus(用focusin替代)、blur(用focusout替代)事件外的所有事件都支持live绑定
18、jQuery 1.4对内部结构重新组织,并开始建立代码风格规范
之前的core.js被划分为attribute.js, css.js, data.js, manipulation.js, traversing.js和queue.js。ready事件被移至core.js中。
jQuery
1.4开始建立了代码风格规范,大多数核心代码符合这一规范。虽然这个规范仅有几条,但我相信这是一个良好的开端。
【相关测试】
在jQuery 1.4中解决了207个bug(相比之下,1.3解决了97个bug)。
此外,测试用例从1.3.2的1504个增加了1.4版本的3060个。这些测试100%通过当下主流浏览器(Safari 3.2, Safari 4, Firefox 2, Firefox 3, Firefox 3.5, IE 6, IE 7, IE 8, Opera 10.10, 和 Chrome)。
【版本兼容性处理】
从上面还是可以看出1.4是做了相当多的更新,为了保证当前版本的向后兼容(也就是希望你之前使用jQuery 1.3版本的程序平稳过渡到1.4版本上),官方特意提供了兼容性脚本补丁,如下使用:
注:以上内容以 jQuery官方文档 为依据撰写而成,更加详细内容可直接访问官方说明页面。
原文:http://css9.net/jquery-1-4-released-new-features-1/
jQuery tab插件使用说明
:上一篇
没有了!
:下一篇
jQuery相关文章
jQuery tab插件使用说明
jQuery判断元素是否存在方法...
jquery鼠标向下滚动(固定层...
jQuery ajax Load...
创新互联专业网站设计制作、网站建设、UI设计、网页设计。欢迎咨询028-86922220
网站备案
|
企业邮箱
|
移动互联网
|
前端开发
|
网站程序
|
营销推广
|
服务器租用
|
网站建设
|
虚拟主机
|
域名注册
|
热门搜索
服务电话:028-86922220 13518219792 公司地址:成都市太升南路288号锦天国际A幢10楼2号
企业邮箱:
service@cdxwcx.com
版权所有:成都创新互联科技有限公司 蜀ICP备09010846号
成都网站建设