首页 > 其他 > 详细

jq的attr()与prop()之间区别

时间:2018-08-09 19:06:26      阅读:174      评论:0      收藏:0      [点我收藏+]

1.以版本划分:attr() 一直存在,prop() 仅存在于 jq-1.6 及其之后

2.两个原则:“

第一:只添加属性名称就可以使属性生效的就应该使用prop();

第二:只存在true/false的属性应该使用prop()。

(从效率、趋势上看 prop() 是 attr() 的替代品,

直白点,jq-1.6+版本 就用 prop() 吧)

3.原理解释:

3.1表单元素的checked、selected、disabled等属性,在 jq-1.6 之前,attr()返回值为被选中(或禁用)就返回true,否则返回false。

3.2但是从1.6开始,使用attr()获取这些属性的返回值为String类型,即如果被选中(或禁用)就返回checked、selected或disabled;否则(即元素节点没有该属性)返回undefined。

并且,在某些版本中,这些属性值表示文档加载时的初始状态值,即使之后更改了这些元素的选中(或禁用)状态,对应的属性值也不会发生改变。

4.使用经验

对于基于低版本 jq 开发的页面,使用条件判断优先判断 attr() 或者 仅使用 attr(),1.6+全部使用 prop()

 

jq的attr()与prop()之间区别

原文:https://www.cnblogs.com/justSmile2/p/9450915.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!