摘要:<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,&
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style media="screen" type="text/css">
.box{width:120px;height:250px;border: 3px solid #ccc;border-radius:5px;padding:5px 10px;margin:20px auto;}
.box div{border-bottom:1px solid #ccc;padding-bottom:10px;margin-bottom:8px;}
.box input{margin: 8px;}
</style>
<script type="text/javascript">
function checkAll(){
var checkall,item;
checkall=document.getElementById('checkall')//获取全选框
item=document.getElementsByName("item[]")//返回元素的数组,可以获取有多少个item[]
console.log(item)
// for (var i=0;i<item.length;i++){ //item.length获取数组的长度。
// if(checkall.checked){
// item[i].checked=true;//
// }else{
// item[i].checked=false;
// }
// }
var i=0;
while (i<item.length){
if(checkall.checked){
item[i].checked=true
}else{
item[i].checked=false;
}
i++
}
item[5].checked=false;
}
</script>
</head>
<body>
<div>
<div class="">
<input type="checkbox" id="checkall" onclick="checkAll()"value=""><label for="checkall">全选</label>
</div>
<input type="checkbox" name="item[]" value="">选项1<br>
<input type="checkbox" name="item[]" value="">选项2<br>
<input type="checkbox" name="item[]" value="">选项3<br>
<input type="checkbox" name="item[]" value="">选项4<br>
<input type="checkbox" name="item[]" value="">选项5<br>
<input type="checkbox" name="item[]" value="">选项6<br>
</div>
</body>
</html>有点晕,没有搞懂为什么在js代码中item[i].checked=true这个i的值是怎么来的,是因为getElementsByName("item[]")所以给html代码中的item进行了赋值,把item给变成了数组么?
在循环结束后,加上item[5].checked=false;单选框会为不显示状态。
所以在html的标签属性name命名为item[]是创建了一个空数组么?
批改老师:灭绝师太批改时间:2019-01-15 09:02:24
老师总结:getElementsByName("item[]")获取的 是元素的集合,我们需要通过下标来获取对于元素