1.例子
这是之前做项目遇到的一个坑,先举个栗子
html:
<input type="button" value="勾" class="btn1"></input>
<input type="button" value="不勾" class="btn2"></input>
<input type="checkbox" class="ckb">
js:
$(function(){
$(".btn1").click(function(){
$(".ckb").attr("checked",true);
});
$(".btn1").click(function(){
$(".ckb").attr("checked",true);
});
})
效果就是只能执行一次,之后就失效了。
解决
先看一下jQuery api 中attr()的介绍
大概意思就是,jQuery1.6之后的版本,如果一个属性没有被设置的话,attr()这个方法会返回一个undefined,为了获取DOM属性例如checked,selected,或者disabled需要使用,prop()方法。
然后我发现这三个属性的返回值都是boolean类型的,反正我以后boolean类型的就用prop()方法了。