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