jQuery中attr()和prop()及removeAttr()和removeProp()的区别

在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.

原文地址:https://www.cnblogs.com/fantianlong/p/9986856.html