我有一个默认选中="已选中"的复选框.
如果我取消选中该复选框,然后执行类似的操作
alert($('#checkbox').attr('checked'));
Run Code Online (Sandbox Code Playgroud)
无论是否检查,它都会始终发出警报checked.
如何获取复选框的实际检查状态(而不是默认代码中写入的内容)?
attr绑定到DOM属性,然后保持初始值.如果要检查状态,则必须使用prop:
$('#checkbox').prop('checked')
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请阅读jQuery doc的"属性与属性"段落prop.
使用prop()代替,因为:
\n\n\n\n\n根据 W3C 表单规范,检查的属性是布尔属性,这意味着如果该属性完全存在,则相应的属性为 true\xe2\x80\x94,即使例如该属性不存在value 或 设置为空字符串值甚至“false”。对于所有布尔属性来说都是如此。
\n
alert($(\'#checkbox\').prop(\'checked\'));\nRun Code Online (Sandbox Code Playgroud)\n\n在这里阅读更多内容
\n