没有具体翻译,罗列了一些重要的注意点:
jQuery 1.9以前预告过是最后一个支持IE6/7/8的版本(oldIE),如今看来这已经是木已成舟的事情了,jQuery 2.0起(注: 现Beta版本),将只支持IE 9+及其他HTML5浏览器。在IE6/7/8占有绝对比例的国度,虽然有点失落,但是好在高级浏览器的占有率在逐渐上升。
jQuery 1.9 增加了一些新东西比如css3选择器等(后面再说),更加值得注意的是她删除了一些以前标记过时的API或变动了不少原来API,升级后可能导致现有代码无法兼容,还好jQuery团队也提供了Migrate(迁移)插件,用来检测弃用和已删除的API,或恢复原有的功能,对大部分API做了兼容,这样原来的程序大部分都可继续正常工作。不过如果你确实要升级还是早点改原来的代码吧!
jQuery的1.9和2.0的定位:
jQuery 1.9和2.0 API基本相同,所以我的中文文档也无耻的打上了“适用jQuery 1.9 – jQuery 2.0”,主要的差别在于jQuery 1.9仍支持IE 6/7/8。
jQuery 2.0不支持IE 6/7/8,只支持IE 9+及其他HTML5浏览器,不不支持IE 6/7/8后jQuery体积小了、执行速度更快了。
由于jQuery 1.9正式移掉不少了过去标注为过时(deprecated)的API,如果你目前程式已经避用过时API,升级到1.9不会有什么大问题,估计大部分苦逼程序员写的代码肯定或多或少使用了旧的API,无论你用哪个版本的jQuery,建议您总是首先把Migrate(迁移)插件引用进来。它搜罗了1.6.4以来存在但1.9已不支持老的API,打开浏览器的控制台,你可以看到有什么警告或错误的(通过console.log)产生,插件的警告以“JQMIGRATE”开始。可以做为原来代码的修改的参考。(注:使用jQuery Migrate压缩版(jquery-migrate-1.0.0.min.js)只提供兼容性功能而不产生警告信息,要使用开发版未压缩的jquery-migrate-1.0.0.js ,才会在控制台中显示警告信息,详细的不兼容信息及解决方法可以查看官方文档)。
1.9中的新功能:
简化的API:以前版本标记过过时的许多功能已被删除,可以查看jQuery 1.9升级指南。
新的多个CSS属性获取器:现在,您可以通过传递给.css()方法一个CSS属性名称的数组并且它会返回一个相应所以CSS属性当前值的普通对象:
具体可以查看jQuery 1.9 API中文文档中的http://www.css88.com/jqapi-1.9/css/
1 | var dims = $( "#box" ).css([ "width" , "height" , "backgroundColor" ]); |
增强跨浏览器CSS3支持:现在jQuery1.9在所有的浏览器中支持下面的CSS3选择器,同样能在IE6下工作:
nth-last-child, :nth-of_type, :nth-last-of-type, :first-of-type, :last-of-type, nly-of-type , :target, :root及:lang;
具体可以查看jQuery 1.9 API中文文档中的http://www.css88.com/jqapi-1.9/category/version/1.9/
新增.finish()方法:停止当前正在运行的动画,删除所有排队的动画,并匹配元素完成所有的动画。更多的信息和示例见:jQuery 1.9 RC1 blog post;或者查看jQuery 1.9 API中文文档中的http://www.css88.com/jqapi-1.9/finish/
支持Source Map:现在,您可以引用运行压缩后的jQuery版本,但使用Source Map进行源码调试,但目前只有Chrome支持。Source Map原理可参考阮一峰的文章。
修复了很多的bug:具体列表查看这篇文章的最后面http://blog.jquery.com/2013/01/15/jquery-1-9-final-jquery-2-0-beta-migrate-final-released/
jQuery 2.0入门
jQuery 1.9升级指南也适用于jQuery 2.0, 在Android, iOS, 或者 Windows 8 应用, 或 Chrome/Firefox 插件上使用 jQuery 2.0是一个明智的选择。如果你想在你的网站上使用2.0,那么建议你在ie下这样引用脚本:
5 | < script src = "jquery-2.0.0.js" ></ script > |