在jquery1.6之前的所有版本中设置和获取元素属性(固有属性和自定义属性)都使用attr方法,后来单独把设置和获取元素固有属性单独做成了prop()方法.
一般来说:
对于HTML元素本身就带有的固有属性(W3C规定的属性),使用prop方法.
对于HTML元素我们自定义的属性,使用attr方法.
具有 true 和 false 两个属性值的属性,如 checked,selected或者disabled,使用prop().
与之对应的删除属性的方法,removeAttr()和removeProp():
removeAttr() 可以删除固有属性和自定义属性.
removeProp() window对象或DOM元素的一些内置属性是不允许删除的,如果试图删除这些属性,将会导致浏览器产生一个错误,jQuery首先会将该属性的值赋为undefined,并忽略掉浏览器生成的任何错误信息.一般情况下,你最好使用该方法来删除一些自定义的属性,而不是内置属性.如果要删除元素的固有属性,方法的第二参数设置为false即可.
prop()函数的结果:
1.如果有相应的属性,返回指定属性值.
2.如果没有相应的属性,返回值是空字符串.
attr()函数的结果:
1.如果有相应的属性,返回指定属性值.
2.如果没有相应的属性,返回值是undefined.