jQuery中prop()方法和attr()方法的区别

以前的jQuery中,全部使用attr来访问对象的属性,比如取一个图片的alt属性,就可以这样做:$('#img').attr('alt');

但是在某些时候,比如访问checkboxdisabled属性的时候,会有些问题。在有些浏览器里,只要写了disabled就可以,有些则要写:disabled="disabled"。所以,从1.6开始,jQuery提供新的方法prop()来获取这些属性。

使用prop()的时候,返回值是标准属性,true/false,比如$('#checkbox').prop('disabled'),不会返回disabled或者,只会是true/false。当然赋值的时候也是如此。如此,我们便统一了所有操作,无论是从语法上还是语义上。

那么,什么时候使用attr(),什么时候使用prop()

  1.只添加属性名称该属性就会生效的,应该使用prop();

  2.只有true,false两个值的属性,应该使用prop();

  3.其他则使用attr();