js原生简单全选反选

 //样式

<style>

      table {

        border-collapse: collapse;

        width: 600px;

        margin: auto;

      }

      table,

      tr,

      th,

      td {

        border: 1px solid #000;

        text-align: center;

      }

    </style>

//布局结构

<table>

      <tr>

        <th class="th">

          <input class="all" type="checkbox" />

          全选

        </th>

        <th>商品</th>

        <th>商家</th>

        <th>价格</th>

      </tr>

      <tr>

        <td><input type="checkbox" class="ck" /></td>

        <td>小米手机</td>

        <td>苹果手机</td>

        <td>¥1999</td>

      </tr>

      <tr>

        <td><input type="checkbox" class="ck" /></td>

        <td>小米手机</td>

        <td>苹果手机</td>

        <td>¥1999</td>

      </tr>

      <tr>

        <td><input type="checkbox" class="ck" /></td>

        <td>小米手机</td>

        <td>苹果手机</td>

        <td>¥1999</td>

      </tr>

    </table>

//js实现效果

 <script>

//获取元素

      const all = document.querySelector(".all");

      const ck = document.querySelectorAll(".ck");

//用全选的checke来控制三个小复选框的checked

      all.addEventListener("click", function () {

        for (let i = 0; i < ck.length; i++) {

          ck[i].checked = all.checked;

        }

      });

//循环遍历小复选框

      for (let i = 0; i < ck.length; i++) {

//每个都添加点击事件

        ck[i].addEventListener("click", function () {

//用小复选框的checked来控制大复选框的checked

          all.checked =

            document.querySelectorAll(".ck:checked").length === ck.length;

        });

      }

    </script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值