3

本文编译自官方博客,不是照字翻译。

新年新气象,jQuery 团队于昨日发布了两个新版本:1.12 和 2.2。这两个版本都包含了大量的Bug修正和功能改进。基本上这会是3.0之前最后一次发布。不过由于3.0不做向下兼容,所以届时 jQuery 团队仍然会继续维护这两个版本,当然肯定只做Bug修正。关于3.0的消息将在不久之后公布。

那么新版本都有些什么变化呢?

性能提升

此版本缩短了 Sizzle 的引用路径,这样当原生 querySelectorAllmatchesSelector 无法使用时,可以带来性能提升。在生产环境中效果明显。

新功能

小升级很多,这里只拣要紧的说。

SVG 的类操作

作为 HTML 库,支持 SVG 元素是理所应当的。新版本里大家就可以使用 .addClass().removeClass().toggleClass().hasClass() 操作 SVG 对象的 class 了。不过需要注意的是,因为 SVG 和 HTML 还是有很多不同,所以如果真的要进行复杂操作,还是选用其它更专业的类库比较好。

jQuery.post 和 jQuery.get 支持对象参数

如题:

jQuery.post({
  url: “/example”
});

这样一来好处还比较多,比如设置回调函数的 context,或者跨域 post 时可以 withCredential: true

新运算符支持

支持 ES6/ES2015 引入的新运算符, jQuery 对象可以用 for-of 遍历了。

for (element of $elements) {
  console.log(element);
}

jQuery.htmlPrefilter()

HTML5不要求标签必须闭合,但是XML要求。这个函数就是用来作转换的。这样我们使用 .html().append().replaceWith() 时就不需要人工转换了。进而,我们也就不需要那么严格的校验输入了。

jQuery.uniqueSort()

jQuery.unique() 命名有点问题,没能体现排序,所以这次改名为 jQuery.uniqueSort()jQuery.unique() 仍然保留,不过文档中将只记录后者。

这个函数专注于 DOM 节点的排序和排重,请勿乱用。

总结

这个版本理论上没有太大变化,可以平滑升级。不过如果谁还是脸黑遇到什么问题,也请汇报给官方

具体变化

就不一一翻译了,想了解的可以看原文:jQuery 2.2 and 1.12 Released


同时发布在我的博客:jQuery 2.2 和 1.12 新版本发布


Meathill
22.3k 声望8.6k 粉丝

爱编程,爱旅游,爱吐槽。