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

 
但是在某些时候,比如访问checkbox的disabled属性的时候,会有些问题。用JQuery的时候发现一个问题用.attr("checked")获取checkbox的checked属性时选中的时候可以取到值,值为"checked"但没选中获取值就是undefined.

有些浏览器中比如说只要写disabled,checked就可以了,而有的要写成disabled = "disabled",checked="checked"。所以,从1.6开始,jq提供新的方法“prop”来获取这些属性。
 以前我们使用attr获取checked属性时返回"checked"和"",现在使用prop方法获取属性则统一返回true和false。
 
使用prop的时候,返回值是标准属性,true/false,比如$('#checkbox').prop('disabled'),不会返回“disabled”或者“”,只会是true/false。当然赋值的时候也是如此。如此,我们便统一了所有操作,无论是从语法上还是语义上。
 
那么,哪些属性应该用attr访问,哪些应该用prop访问呢?一个原则是,只添加属性名不添加属性值就会生效;第二个原则是,只存在true/false的属性,按照官方文档,如下:
 
Attribute/Property .attr() .prop()
accesskey  
align  
async
autofocus
checked
class  
contenteditable  
draggable  
href  
id  
label  
location ( i.e. window.location )
multiple
readOnly
rel  
selected
src  
tabindex  
title  
type  
width ( if needed over .width() )  
什么时候使用attr,什么时候使用prop??
1.添加属性名称该属性就会生效应该使用prop.
2.是有true,false两个属性使用prop.
3.其他则使用attr
 
 

最新文章

  1. IBM Bluemix体验:Containers持久存储
  2. 11.struts2文件上传
  3. 去bom头
  4. Linux 进程间通信
  5. android button text属性中英文大小写问题
  6. NET SqlClient
  7. WordPress ‘crypt_private()’方法远程拒绝服务漏洞
  8. android后台截屏实现(3)--编译screencap
  9. 纯静态界面中(html)中通过js调用dll中的方法从数据库中读取数据
  10. UOJ#424. 【集训队作业2018】count 多项式,FFT,矩阵
  11. 导出python的环境
  12. Really Big Numbers CodeForces - 817C (数学规律+二分)
  13. Webmin的安装
  14. 利用iptables防止ssh暴力破解和控制网速
  15. iis和tomcat(整合)
  16. SRM464
  17. 不越狱安装破解软件,iResign重签名方法
  18. springboot-4-整合fastjson
  19. Linux下禅道系统的搭建
  20. 【转载】C#基础系列——小话泛型

热门文章

  1. ASP.NET MVC与WebForm区别
  2. C#.Net中的转义字符(转)
  3. Java基础知识强化之IO流笔记82:NIO之 Pipe(管道)
  4. jquery.blockUI.2.31.js 弹出层项目介绍
  5. oracle日志总结
  6. Linux_内存查询
  7. js自动刷新页面代码
  8. jquery移除、绑定、触发元素事件使用示例详解
  9. ubuntu下规避终端打开gvim出现的错误
  10. .net导出Word的一种方法