有时发现jQuery库引用的都对,javascript代码写的也没问题,可是jquery就是出现问题,额……我发现换个jquery库就没问题了,长时间不关注jquery的问题而已;
很多人都没有使用最新的jQuery库,导致突然换成2.0版本时,出现了一些没有关注的问题!
关于jQuery 2.0不再对IE6/7/8三个版本进行支持,我认为,使用jquery1.9版本好了,(我测试jquery1.11版本都是是支持IE8,2.0版本开始就不支持了! )。
等以后抛弃了IE8,我想那个时候,我们的世界也是很美好的,至少网络世界会很美好,Microsoft其实一直在不知不觉中抛弃Windows 7,很多的前端技术也在开始慢慢抛弃不支持CSS3技术的浏览器,在加之html5和CSS3技术的我们的吸引和行业的需求,所以,IE8离开我们的时代也快不远了。
----------------------------------------------------------------?-------------------------------------------------------------------------
关于jQuery 1.9和jQuery 2.0的版本区别如下:
- jQuery 1.9和2.0有相同的API。一些弃用的特性(如$.browser)在这两个版本中都已经移除。见jQuery 1.9升级指南
- jQuery 1.9可以运行在老版本IE(IE 6/7/8)上,这和之前版本一样。与jQuery 1.8相比,该版本的API更简洁、更轻量、更现代。
- jQuery 2.0将无法运行在老版本IE上,由于减少了一些代码,使得该版本比jQuery 1.9更小且更快。
jQuery开发团队称,未来将同时支持jQuery 1.9和2.0两个版本,你可以根据自己的需要来选择。
jQuery开发团队还发布了jQuery迁移插件1.0正式版,帮助检测新版本中已弃用和删除的功能,并可以在必要时恢复这些功能。
下载地址:
- jquery 1.9.0.js
- jquery 2.0.0 beta1.js
- jquery migrate 1.0.0.js <最后,需要注意的是,你可以使用该插件将jQuery恢复到jQuery 1.6.4之后的任何一个版本的功能。>
---------------------------------------------------------------?-----------------------------------------------------------------------
本文主要内容来自:http://blog.jquery.com/2013/01/15/jquery-1-9-final-jquery-2-0-beta-migrate-final-released/:没有具体翻译,罗列了一些重要的注意点:
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/
var dims = $("#box").css([ "width", "height", "backgroundColor" ]); // 返回的对象:{ width: "10px", height: "20px", backgroundColor: "#D00DAD" } 增强跨浏览器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下这样引用脚本:
<!--[if lt IE 9]><script src="jquery-1.9.0.js"></script>< ![endif]--><!--[if gte IE 9]><!--><script src="jquery-2.0.0.js"></script><!--[endif]—>
<参考:愚人码头 & http://www.iteye.com/news/27006>