(一)选择正确版本的jQuery

jQuery 自 2006 年诞生以来,一个发行了 1.x、2.x、3.x 这三个大版本。而在这三个大版本下又细分了许多小版本。可能有些小伙伴不太清楚这些版本有什么区别?实际开发中应该选用哪个版本?

1.x、2.x、3.x 三大系列的区别

1,IE 的支持情况比较
(1)情况分析

  • 1.x:支持 ie6ie7ie8
  • 2.x3.x:不支持 ie6ie7ie8

(2)选择建议

  • 如果需要兼容 ie678:只能选择 1.x
  • 如果不需要兼容 ie678:可以选择 2.x3.x。因为 1.x 中有大部分代码是对老旧浏览器做的兼容,这个就增加了运行的负担,影响了运行效率。

2,插件的支持情况比较
(1)情况分析

  • 由于 jQuery 的版本都是不向后兼容的,导致了基于 jQuery 开发的插件会有兼容性问题。也就是说当新版本的 jQuery 推出后,原有的插件可能无法正常使用,需要插件作者重新开发新版本。

(2)选择建议

  • 为了保证与各种插件有更好的兼容性可以选择 1.x 的版本。

3,新特性比较
(1)2.x 相较于 1.x 没有增加什么新特性,主要是去除了 ie678 的支持,提升了性能,减小了体检。
(2)3.x 相较于之前版本,增加了许多新特性,也改变一些以往的特性,具体可以参考我之前写的这篇文章:

版本建议

1.x 常用版本

  • 1.4.2:稳定性和兼容性都很出色,插件最多,但性能不如下面后面的几个版本。
  • 1.7.2:性能提升,插件第二多,ajax 和 attr 等 api 有少许修改。
  • 1.8.3:最后一个支持 IE6 的稳定版
  • 1.9.1:开始移除了不少方法,事件绑定推荐使用 on 方法一个代替所有的。
  • 1.12.4:1.x 时代最后一个稳定版本,仅支持 IE8,不支持 IE6/7。

2.x、3.x 版本
除非有特殊要求(比如面向移动端),一般情况下这两大版本使用人的确很少:

  • 2.x 最后一个稳定版本:2.2.4
  • 3.x 最新版本:3.3.1
版本号 发布日期 最新更新 大小(KB) 备注
1.0 2006年8月26日 第一个稳定版本
1.1 2007年1月14日
1.2 2007年9月10日 1.2.6 54
1.3 2009年1月14日 1.3.2 55.9 Sizzle 选择器引擎引入核心
1.4 2010年1月14日 1.4.4 76
1.5 2011年1月31日 1.5.2 83 延迟回调管理,ajax 模块重写
1.6 2011年5月3日 1.6.4 89 显著改善 attr() val() 的性能
1.7 2011年11月3日 1.7.2 (2012年3月21日) 92 新的事件 API.on().off(),而旧的 API 仍然支持。
1.8 2012年8月9日 1.8.3 (2012年11月13日) 91.4 重写 Sizzle 选择器引擎,改善动画和 $(html, props) 的灵活性。
1.9 2013年1月15日 1.9.1 (2013年2月4日) 90 移除弃用接口,清理代码
1.10 2013年5月24日 1.10.2 (2013年7月3日) 91 修复了 1.9 2.0 beta 版本周期的 bug 和差异
1.11 2014年1月24日 1.11.3 (2015年4月28日) 95.9
1.12 2016年1月8日 1.12.4 (2016年5月20日) 95
2.0 2013年4月18日 2.0.3 (2013年7月3日) 81.1 除去对 IE 6-8 的支持以提高性能,并降低文件大小
2.1 2014年1月24日 2.1.4 (2015年4月28日) 82.4
2.2 2016年1月8日 2.2.4 (2016年5月20日) 85.6
3.0 2016年6月9日 3.0.0 (2016年6月9日) 86.3 Deferred、$.ajax、$.when 支持 Promises/A+,令 .data() 兼容HTML5
3.1 2016年7月7日 3.1.1 (2016年9月23日) 86.3 加入 jQuery.readyExceptionready handler 错误现在不会不显示了
3.2 2017年3月16日 3.2.1 (2017年3月20日) 84.6 增加了对检索