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/

原文地址:https://www.cnblogs.com/minutes/p/9446364.html

时间: 2024-10-08 22:52:20

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

firefox中 checkbox属性checked="checked"已有,但复选框却不显示打钩的原因

最近在调试复选框的应用,在ie没有问题,考虑到兼容性,试试了firefox,遇到了问题. 复选框绑定了click事件,点一次选中,再点击取消选中,依次类推.这个功能在ie中没问题,但是在firefox中测试的时候,前两次都没有问题,可以正常显示选中和取消,但当再去选中的时候,复选框的属性checkbox值变为"checked",没问题,但是复选框却不在显示选中状态,明明属性值改了,但是却不显示勾选,太诡异了.代码修改了却得不到正确的显示状态,纠结了很久,找不到原因. 正解:后来经偶像指

IE和firefox火狐在JS、css兼容区别

1.firefox不能对innerText支持. firefox支持innerHTML但却不支持innerText,它支持textContent来实现innerText,不过默认把多余的空格也保留了.如果不用textContent,如果字符串里面不包含HTML代码也可以用innerHTML代替. 2.禁止选取网页内容: 在IE中一般用js:obj.onselectstart=function(){return false;} 而firefox用CSS:-moz-user-select:none

jq、js中判断checkbox是否选中

最近在开发项目时用到checkbox复选框,其中遇到一个问题:在JQ中如何判断checkbox是否被选中呢?之前用JQ获取元素的属性用的都是attr(),但用在checkbox上却没有用,原因何在??? 1.JS中判断checkbox是否被选中 对于在js中来判断checkbox是否被选中很简单,举个??来说 HTML代码: <input type="checkbox" name="box"> 相应的javascript代码如下: var check =

关于Winform下DataGridView中实现checkbox全选反选、同步列表项的处理

近期接手一个winform 项目,虽然之前有.net 的经验,但是对一些控件的用法还不是很熟悉. 这段时间将会记录一些在工作中遇到的坎坷以及对应的解决办法,写出来与大家分享并希望大神提出更好解决方法来促进进步. 我也会尽可能把我查找到资料的出处引出来,以此来感恩对我提供帮助的人们. 正题如下 一.关于Winform下DataGridView中实现checkbox全选反选.同步列表项的处理 1.checkbox的添加:在设计页面选择编辑列在新添加的列中注意如下几个属性: SortMode = No

前端开发入门到实战:HTML标签和JS中设置CSS3 var变量

一.HTML标签中设置CSS变量 如下: <div style="--color: #cd0000;"> <img src="mm.jpg" style="border: 10px solid var(--color);"> </div> 直接正常CSS语句一样在style属性中设置即可. 效果如下截图: 二.JS中设置CSS变量 如下,HTML示意: <div id="box">

web前端入门到实战:HTML标签和JS中设置CSS3 var变量

一.HTML标签中设置CSS变量 如下: <div style="--color: #cd0000;"> <img src="mm.jpg" style="border: 10px solid var(--color);"> </div> 直接正常CSS语句一样在style属性中设置即可. 效果如下截图: 二.JS中设置CSS变量 如下,HTML示意: <div id="box">

js基础之js中的HTML属性操作与注意事项

一.js中的HTML属性操作HTML属性操作:读和写: 属性读操作:作用:获取.找到: 语法:元素.属性名 属性写操作:作用:替换.修改: 语法:元素.属性名 = 新的值--->就替换了. innerHTML:读取元素内的所有HTML内容: 语法:元素.innerHTML://读取HTML内容 语法:元素.innerHTML = 新值://修改HTML内 容 /*属性读写操作注意事项*/1.JS中不允许出现“-”例:oDiv.style.fontSize将font-size 中的“-”去掉,si

mysql中以blob形式存储的图片文件 通过ajax方式传输 在js中设置成img控件的src

第一步,读取blob数据, 第二步,将blob数据转换成byte数组 第三步,将byte数据进行base64加密转换成字符串并回传 第四步,接收字符串 第五步,将img控件的src设置成"data:image/jpeg;base64,"+接收的字符串; 相关代码: java: public String getAccountImg(String alias) { String sql = "SELECT imgrawdata FROM wx_account WHERE ali

jquery,attr,prop,checkbox标签已有checked=checked但是不显示勾选

最近在做项目的过程中碰到了这样的一个问题:在使用bootstrap模态框的过程中,在模态框中有一个checkbox标签,一开始是为选中的,当点击触发模态框按钮,选中chcekbox时,会显示勾选,这个时候将选中的状态缓存起来,然后点击模态框中的关闭按钮,再次点击触发模态框按钮弹出模态框,这个时候问题出现了:         checkbox标签已有checked=checked但是不显示勾选,网上也查过有解决方案,就是将   $("...").attr("checked&qu