码迷,mamicode.com
首页 > 其他好文 > 详细

attr()与prop()之全选、反选问题

时间:2017-04-17 16:02:42      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:自己   com   src   处理   建议   disabled   rom   htm   实现   

获取js dom原生属性的时候最好用prop()方法,获取自己添加的属性时用attr()

原文:http://blog.sina.com.cn/s/blog_bf5ce8cc0102vuyt.html

判断是否选中

代码如下:

$(‘#checkbox‘).prop(‘checked‘)

设置选中与不选中状态:

代码如下:

$(‘#checkbox‘).attr(‘checked‘,true)$(‘#checkbox‘).attr(‘checked‘,false)

但此方法在jquery1.9.1中,有些处理不一样

IE10,Chrome,FF中,对于选中状态,第一次$(‘#checkbox‘).attr(‘checked‘,true)可以实现但是当通过代码清除选中,下次再通过代码 $(‘#checkbox‘).attr(‘checked‘,true) 去选中时虽然代码中有checked=‘checked‘,但是画面表现都没有打勾。IE8,IE6下无此问题。

后来查询了相关的资料,发现现在attr(‘checked‘,true)都换成prop(‘checked‘,true);

 

 

jquery1.6中新加了一个方法prop(),一直没用过它,官方解释只有一句话:获取在匹配的元素集中的第一个元素的属性值。

大家都知道有的浏览器只要写disabled,checked就可以了,而有的要写成disabled = "disabled",checked="checked",比如用attr("checked")获取checkbox的checked属性时选中的时候可以取到值,值为"checked"但没选中获取值就是undefined。

jq提供新的方法“prop”来获取这些属性,就是来解决这个问题的,以前我们使用attr获取checked属性时返回"checked"和"",现在使用prop方法获取属性则统一返回true和false。

那么,什么时候使用attr(),什么时候使用prop()?1.添加属性名称该属性就会生效应该使用prop();2.是有true,false两个属性使用prop();3.其他则使用attr();项目中jquery升级的时候大家要注意这点!

以下是官方建议attr(),prop()的使用:

技术分享

attr()与prop()之全选、反选问题

标签:自己   com   src   处理   建议   disabled   rom   htm   实现   

原文地址:http://www.cnblogs.com/meypro/p/6723067.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!