新版本中的部分重要改进:
- attr()、val()和data()方法有了更好的性能;
- 在attr()方法中支持Boolean属性;
- 添加了钩子函数,允许对attr()和val()方法进行扩展;
- map()方法添加了对对象的支持(将JavaScript对象的属性映射到函数)
- 允许使用相对值(“+=”,“-=”)更新CSS;
- 添加了deferred.always(), deferred.pipe()方法,减少了代码量,提高了代码易读性;
- 同步动画 – 现在所有动画都同步到相同的时间间隔. 使用新的浏览器功能,动画也更顺畅;
- find(),closest()和is()可接收所有的DOM元素和JQuery对象作为参数。
所有这些新特性连同整个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交互。
时间: 2024-10-25 17:26:11