在项目中需要用jQuery判断复选框是否被选中,写了一个判断语句if($('#selects').attr('checked')){....}, 但是if语句内始终没有执行。查阅之后发现jQ1.6之后$('#selects').attr('checked')返回的是checked或者是undefined,而不是true和false。如果checkbox一开始是选中的,那么返回的是checked,如果一开始没被选中,则返回的是undefined。
网上找到一篇文章说的很不错,解决方法如下,这里借用其代码。
1. <input type='checkbox' id='cb'/> 2. <script> 3. //获取是否选中 4. var isChecked = $('#cb').prop('checked'); 5. //或 6. var isChecked = $('#cb').is(":checked"); 7. //设置选中 8. $('#cb').prop('checked',true); 9. </script>