很多人更新了jQuery 1.9/2.0/2.1及其以上版本以上对于checkbox有些调整,在此知道91博客吃过亏过,所以给大家陈述一下,免得大家也吃亏。特别是对于checkbox选中状态和判断checkbox是否选中。
jQuery1.9.1即其以上设置checkbox选中与不选中状态
在原来的1.9.1以上的版本我们可以这么写
$('#checkbox').attr('checked',true)
$('#checkbox').attr('checked',false)
但此方法在jquery1.9.1中,有些处理不一样
IE10,Chrome,FF中,对于选中状态,第一次$(‘#checkbox’).attr(‘checked’,true)可以实现,但是很奇怪当通过代码清除选中,下次再通过代码 $(‘#checkbox’).attr(‘checked’,true) 去选中时,虽然代码中有checked=’checked’,但是画面表现都没有打勾。而在IE8,IE6下无此问题。后来知道我们应该这样写了
$('#checkbox').prop('checked',true)
jQuery1.9.1/2.0/2.1 判断checkbook是否选中
在以前的jQuery版本中我们这样可以这样判断:
if($('#checkbox').attr('checked')){
//这里写内容
}
当是在jQuery1.9.0以上不行,我们可以这样写:
if($('#checkbox').prop('checked')){
//这里写内容
}