摘要:<!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[]")获取的 是元素的集合,我们需要通过下标来获取对于元素