javascript checked设置选中问题

document.getElementById('s1').onclick=function(){vars=document.getElementsByTagName('... document.getElementById('s1').onclick = function () {
var s = document.getElementsByTagName('input');
for (var i = 0; i < s.length; i++) {
//alert(s[i].innerHTML);
s[i].checked = ' ';
}
}
document.getElementById('s2').onclick = function () {
var s2 = document.getElementsByTagName('input');
for (var i = 0; i < s2.length; i++) {
s2[i].checked ='';
}
}

document.getElementById('s3').onclick = function () {

var s2 = document.getElementsByTagName('input');
for (var i = 0; i < s2.length; i++) {
if (s2[i].checked) {

s2[i].checked = '';
} else {
s2[i].checked = ' ';
}

}
}
}
-------------------------------------------------------------------------------------
<ul>
<li><input type="checkbox" name="name" value="" />爱情买卖</li>
<li><input type="checkbox" name="name" value="" />理想三旬</li>
<li><input type="checkbox" name="name" value="" />最炫民族风</li>
<li><input type="checkbox" name="name" value="" />江南style</li>
<li><input type="checkbox" name="name" value="" />最美情侣</li>
</ul>
<input type="button" id="s1" name="name" value="全选" />
<input type="button" id="s2" name="name" value="全不选" />
<input type="button" id="s3" name="name" value="反选" />
-----------------------------------------------------------------------------
拜托大神帮我看下,为啥我在checked那里设置checked=‘’(输入任意字符)‘’等同于true。checked=‘’(空字符)‘’等同于false!
checked=‘’‘’
展开
 我来答
网海1书生
科技发烧友

2017-10-13 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
这是因为任何非空字符串都等价于True,而空字符串则等价于False
同样,任何非零数值等价于True,而0等价于False
但是,你的代码中最好明确指定true或false(而不要用字符串),这样可以让程序减少一个自动转换的过程,提高运行速度,比如
s2[i].checked ='';
要改为
s2[i].checked = false;

最后补充说一下:
if (s2[i].checked) {
s2[i].checked = '';
} else {
s2[i].checked = ' ';
}
改成:
s2[i].checked=!s2[i].checked;
会不会显得很酷?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式