js实现全选功能

原创 2019-01-14 22:43:50 258
摘要:<!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[]")获取的 是元素的集合,我们需要通过下标来获取对于元素

发布手记

热门词条