您的位置:首页 > Web前端 > JQuery

JQuery 1.6 性能提升,同时包含破坏性的变更

2011-07-16 18:50 441 查看
JQuery 1.6的发布,有几处性能和跨浏览器兼容性的改进,专门重写了属性模块。

新版本中的部分重要改进:

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团队已经接受了功能建议书。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: