新年新气象,jQuery 团队于昨日发布了两个新版本:1.12 和 2.2。这两个版本都包含了大量的Bug修正和功能改进。基本上这会是3.0之前最后一次发布。不过由于3.0不做向下兼容,所以届时 jQuery 团队仍然会继续维护这两个版本,当然肯定只做Bug修正。关于3.0的消息将在不久之后公布。
那么新版本都有些什么变化呢?
此版本缩短了 Sizzle 的引用路径,这样当原生 querySelectorAll 和 matchesSelector 无法使用时,可以带来性能提升。在生产环境中效果明显。
小升级很多,这里只拣要紧的说。
作为 HTML 库,支持 SVG 元素是理所应当的。新版本里大家就可以使用 .addClass() 、 .removeClass() 、 .toggleClass() 、 .hasClass() 操作 SVG 对象的 class 了。不过需要注意的是,因为 SVG 和 HTML 还是有很多不同,所以如果真的要进行复杂操作,还是选用其它更专业的类库比较好。
如题:
jQuery.post({ url: “/example” });
这样一来好处还比较多,比如设置回调函数的 context,或者跨域 post 时可以 withCredential: true。
支持 ES6/ES2015 引入的新运算符, jQuery 对象可以用 for-of 遍历了。
for (element of $elements) { console.log(element); }
HTML5不要求标签必须闭合,但是XML要求。这个函数就是用来作转换的。这样我们使用 .html() 、 .append() 、.replaceWith() 时就不需要人工转换了。进而,我们也就不需要那么严格的校验输入了。
jQuery.unique() 命名有点问题,没能体现排序,所以这次改名为 jQuery.uniqueSort()。jQuery.unique() 仍然保留,不过文档中将只记录后者。
这个函数专注于 DOM 节点的排序和排重,请勿乱用。
这个版本理论上没有太大变化,可以平滑升级。不过如果谁还是脸黑遇到什么问题,也请汇报给官方。
就不一一翻译了,想了解的可以看原文:jQuery 2.2 and 1.12 Released