jQuery 1.6 刚刚发布了,有几处性能和跨浏览器兼容性的改进,专门重写了属性模块。
新版本中的部分重要改进:
- 在 attr() 方法中支持 Boolean 属性;
- 添加了钩子函数,允许对 attr() 和 val() 方法进行扩展;
- map() 方法添加了对对象的支持(将 JavaScript 对象的属性映射到函数)
- 允许使用相对值(“+=”,“-=”)更新 CSS;
- 添加了 deferred.always(), deferred.pipe() 方法,减少了代码量,提高了代码易读性;
- 同步动画 – 现在所有动画都同步到相同的时间间隔. 使用新的浏览器功能,动画也更顺畅;
所有这些新特性连同整个 bug 修复列表在官方博文中都有详细说明。
不幸的是,其中包含了部分破坏性的变更,团队已经在官方更新中用单独的章节强调了它们:
变更 jQuery 1.5.2 示例 jQuery 1.6 示例 data() 方法使用破折号创建驼峰格式。
data-max-value=“15” 创建{ max-value: 15 } data-max-value=“15” 创建{ maxValue: 15 } 区分了 Property 与 Attribute。attr() 方法现在不能用于获取 preperty 的值。为了处理 property 的值,引入了 prop() 和 removeProp() 方法。 如果复选框被选中,checkbox.attr(“checked”) 返回 (true) checkbox.attr(“checked”) 返回空字符串。
要判别是否选中,需在事件处理程序中使用
$(this).prop(“checked”) 或
$(this).is(":checked")。
不出意外的话,第二项变更将会影响到现有打算升级到 1.6 的那些项目。
这一版本是在 1.5 发布后 3 个月及 1.5.2 发布后 1 个月推出的。目前 1.7 的工作已经开始了,jQuery 团队已经接受了功能建议书。
jQuery 是一个用于快速 Web 开发的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画以及 Ajax 交互。
查看英文原文: JQuery 1.6 Released With Performance Upgrades, Breaking Changes ****
评论