firefox(火狐)下 js中设置checkbox属性checked="checked"已有,但复选框却不显示勾选的原因...

刚看到问题时以为是浏览器兼容性的原因,ie、google都能正常显示。

网上查询之后发现是jQuery的attr()方法用的不恰当。

jQuery1.6之前使用attr()可以修改 ,从jQuery 1.6开始,attr()方法返回undefined尚未设置的属性,对于设置checked这种类型的属性使用prop()来设置。

jquey官网给出的两个方法的说明:

获取匹配元素集中第一个元素的属性值,或为每个匹配元素设置一个或多个属性。

并指出检索和修改DOM属性,如checkedselecteddisabled元素形式的元素状态,使用.prop()方法。

jQuery API 详细说明:https://api.jquery.com/attr/

 

 

今天在火狐又遇到了此问题虽然使用prop()函数设置但是  ,有时仍然会出现checked失效:

解决办法火狐浏览器中input的autocomplate属性默认为on,当checkbox默认选中时,进入页面因为autocomplate状态为no,因此浏览器可能会自动记录之前输入的值,导致checked的状态失效,

所以将autocomplate属性修改为off状态即可。。。。。。若还是不行则将form标签的autocomplate属性也设置为off。。。。。。。。。。。。。。

autocomplete 属性规定输入字段是否应该启用自动完成功能。

自动完成允许浏览器预测对字段的输入。当用户在字段开始键入时,浏览器基于之前键入过的值,应该显示出在字段中填写的选项。

注释:autocomplete 属性适用于 <form>,以及下面的 <input> 类型:text, search, url, telephone, email, password, datepickers, range 以及 color。

提示:在某些浏览器中,您可能需要手动启用自动完成功能。


实例:就好比输入框有文字提示,,其autocomplete属性值就为no,,,设置off则不会出现提示

 

 

HTML文档详细介绍:http://www.w3school.com.cn/tags/att_input_autocomplete.asp

转载于:https://www.cnblogs.com/minutes/p/9446364.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值