注册
登录

您现在的位置是:首页 > 学无止境

jQuery 1.6发布:性能提升,同时包含破坏性的变更

木木彡82 2011-05-11 09:33:00 550人围观
jQuery 1.6刚刚发布了,有几处性能和跨浏览器兼容性的改进,专门重写了属性模块。
新版本中的部分重要改进:


attr()、val()和data()方法有了更好的性能;

在attr()方法中支持Boolean属性;

添加了钩子函数,允许对attr()和val()方法进行...

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团队已经接受了功能建议书

文章评论

  • 登录后评论

点击排行