function click(value){
for (var i = 0; i < aCheckbox.length; i++) {
aCheckbox[i].checked =value ;
}
}
oBtn1.onclick = function () {
click(true);
}
oBtn3.onclick = function () {
click(false);
}
我试了几次,这样写的效果出来了,但是如果我写成click("true"), click("false"),这样的结果是点击按钮1的时候效果出来,全部选择了。但是点击按钮3的时候没有反应,所以说true和false作为参数到底需要打引号吗?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
不加字符串,传入的值都会先转为bool值,而”true”和”false”转为bool值为true。
因为checked是布尔值属性,你加了引号就变成字符串了。
看控制台输出的类型
true/false为字符串时,相当于给input标签添加了checked属性,只有一次效果
这个你找一个jQuery1.8以上的版本自己试试就知道了,1.8之前的jQuery操作checked的可以这样:
但是到了1.8之后的版本,比如1.11.3,attr只能操作非bool属性,就跟上面你加了引号的true/false变成字符串效果一样,只生效一次,再点击就无效了,就需要使用: