jQuery 1.6.1中什么构成属性(Attribute)或属性(Property)
2011-11-23 15:08 俊俊+ 阅读(257) 评论(0) 收藏 举报jQuery 1.6.1 RC1今天已经发布,帮助解决.Attr()向后兼容的问题连同其他一些修正。 jQuery.com发布一个不错的图表,.attr()和.prop()应该被用于今后的jQuery 1.6+。 我想我公布这个供以后参考。请注意,所有的属性仍然可以通过1.6.1访问,但不一定能通过1.6。 据jQuery.com说.prop()方法应该被用于布尔属性(Attribute)/属性(Property)和在HTML中不存在的属性(如window.location的)。全部的其他属性(那些你可以在HTML中看到的)可以而且应该继续使用.attr()方法控制。
| ATTRIBUTE | PROPERTY |
| accesskey | async |
| align | autofocus |
| class | checked |
| contenteditable | location |
| draggable | multiple |
| href | readOnly |
| id | selected |
| label | |
| rel | |
| src | |
| tabindex | |
| title | |
| type | |
| width |
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")。 |
浙公网安备 33010602011771号