以下jQuery语句对我有用。但我不知道这是一个跨平台独立与否?
$("input[name='confirmed']").attr("checked",false);
它致力于火狐最新版本。 如果我错了请纠正我? 感谢
答案 0 :(得分:2)
作为一般规则,JQuery完全兼容跨浏览器。通常当某些东西在一个[现代]浏览器中不起作用时,它将无法在其中任何一个中起作用。
我认为处理复选框最常用的语法是:
// set checked state
$("input[name='confirmed']").prop("checked", true);
// remove checked state
$("input[name='confirmed']").prop("checked", false);
// test checked state
$("input[name='confirmed']").is(":checked"); // returns boolean
// pull out only checked inputs
$("input[name='confirmed']").filter(":checked"); // returns collection
答案 1 :(得分:1)
由于您使用的功能有误,因此对您的使用情况的浏览器支持并不重要。
the attr
method的第二个参数必须是字符串,数字或函数(返回字符串或数字)。
如果要删除属性,请使用removeAttr
如果您想改变输入的已检查状态,则use prop
而非attr
(attr
为已选中状态设置默认值,而不是当前价值)。
答案 2 :(得分:1)
使用点击事件
if($("input[name='confirmed']").attr("checked")){
$("input[name='confirmed']").removeAttr("checked");
} else {
$("input[name='confirmed']").attr("checked","checked");
}
答案 3 :(得分:0)
我已经用这种方式将我的jQuery方法attr()改为prop():
$("input[name='confirmed']").prop("checked",false);
并且工作正常。 请参阅以下链接以供参考:
特别感谢MelanciaUK先生提出的宝贵意见:
谢谢大家的宝贵建议。