关于 JQuery 对单选、复选、select的选中时,使用 attr 只会在第一次生效的问题。
今天在公司做了个功能,需要点击某【快速设置】的不同选择,然后根据选中不同其底下功能的: 单选、复选、下拉列表按钮也会动态的进行变更,以便用户操作。
在使用 JQuery 时,自然就用了我平时最常使用的 attr() 方法,本来也没什么问题,点击事件无误,页面该显示的数据都显示了。
但是当我点击别的选项时,或者修改了一些输入框、单选框之类的东西时。再次点击快速设置的按钮则不能初始化,这让我感到很惊奇。
一番查询。
原因是 JQuery 在 1.6 版本之后修改了部分代码,在这些情况下应该使用 prop,1.6 之前的应该是没问题的
1.添加属性名称该属性就会生效应该使用prop();
2.是有true,false两个属性使用prop();
3.其他则使用attr();
附上几个常见的 JQuery 对页面选项进行修改的操作
//选中某复选框(单选框也行) $('#xxx').prop('checked',true); //选中某select下指定的option $("#xxxSelect").find("option:contains('xxxOption')").prop("selected",true); //指定value,使该单选框被选中 $("input[name='xxxRadio'][value='xxxValue']").prop("checked",true);