首先说一下,我测试过jquery-1.8.x版本没问题,但在这个1.9.1版本中才出现这种情况,好像是jquery-1.9.1版本的调整
在1.8.x版本以下的,我们通常使用jquery中的attr和removeAttr对表单元素进行动态的添加和移除某属性,
例如:
增加属性 $("#checkbox").attr("checked","checked");
移除属性 $("#checkbox").removeAttr("checked");
但在1.9.1的版本中,对第一次动态增加 $("#checkbox").attr("checked","checked") 可以实现选中效果,再移除$("#checkbox").removeAttr("checked") 为不选中状态,但第二次再动态增加选中属性时,就会发现属性值已经增加成功 checked="checked",但界面上不会显示为选中效果
解决方案就是在动态增加属性时改为使用 prop 方法就可以了,例如:$("#checkbox").prop("checked","checked")
经验证该现象在谷歌、IE10浏览器下出现,IE8、IE7没问题,其它浏览器没测过