使用attr()方法获取不到checkbox的checked属性解决方案

使用attr()方法获取不到checkbox的checked属性解决方案

  今天遇到一个全选/取消全选的功能,使用Jqueryattr()方法获取checked时发现一直undefined,而且选中/取消后再获取也是undefined

  然后上网找了一下相关资料,发现Jquery.attr()方法,记录的是元素的初始化属性(则在代码设置了默认值如:<input type="checkbox" checked>),后续这个checkbox的属性值更新后,attr()还是记录的初始化属性,而不是最新的属性。

  而prop()记录的是该元素每次变化后,最新的属性,所以使用prop()方法来获取checked的属性,代码参考:

//使用prop方法,成功获取属性
$('[name=\'id\']').prop('checked',$("#checkAll").prop("checked"));

//使用attr方法,获取不到属性,设置失败
$('[name=\'id\']').prop('checked',$("#checkAll").prop("checked"));

  补充一下还有另外一种方法,使用Jquery获取到元素后,转换为DOM对象,再获取其属性:

$('[name=\'id\']').prop('checked',$("#checkAll")[0].prop("checked"));//成功
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值