jQuery之attr和prop比较(基于jQuery-1.11.0)
先上图,有图有真相。
一、attr(attribute)
1、js原生通过setAttribute、getAttribute进行设置、读取
2、直接写在标签上的属性,表现为:
(a)在html的标签上用到的属性如id,href可以获取到值
(b)即使该标签有该属性,如style、class,但如果不在标签中显式地写出,也获取不到值(返回undefined)
(c)通过attr可以给标签添加自定义属性(myattr),且显式地出现在标签中
二、prop(property)
1、js原生通过“.”号来进行设置、读取的属性,就跟Javascript里普通对象属性的读取差不多
2、同样的属性名,有的属性如href,获取的值和通过attr获取的不同
3、自定义的属性不会出现在html的标签上,如aaprop
三、部分含boolen类型值属性的标签
1、$('input').attr('checked') //checked
2、$('input').prop('checked') //true
网友评论