当前位置: 首页 > news >正文

JS全选反选案例

我们在进行网页制作的时候,通常会用到复选框,而复选框外面往往有一个大的勾选框来,控制里面的框是否全部选择,而里面的小复选框同时也是在控制着外面大的选择框,当里面全选的时候,外面的也会勾选上,今天我们了了解如何实现,这个功能:

代码展示如下:

<!DOCTYPE html><html><head lang="en"><meta charset="UTF-8"><title></title><style>* {margin: 0;padding: 0;}table {border-collapse: collapse;border-spacing: 0;border: 1px solid #c0c0c0;width: 500px;margin: 100px auto;text-align: center;}th {background-color: #09c;font: bold 16px "微软雅黑";color: #fff;height: 24px;}td {border: 1px solid #d0d0d0;color: #404060;padding: 10px;}.allCheck {width: 80px;}</style>
</head><body><table><tr><th class="allCheck"><input type="checkbox" name="" id="checkAll"> <span class="all">全选</span></th><th>商品</th><th>商家</th><th>价格</th></tr><tr><td><input type="checkbox" name="check" class="ck"></td><td>小米手机</td><td>小米</td><td>¥1999</td></tr><tr><td><input type="checkbox" name="check" class="ck"></td><td>小米净水器</td><td>小米</td><td>¥4999</td></tr><tr><td><input type="checkbox" name="check" class="ck"></td><td>小米电视</td><td>小米</td><td>¥5999</td></tr></table><script>//获取大的复选框const checkAll = document.querySelector('#checkAll')//获取小的复选框const cks = document.querySelectorAll('.ck')checkAll.addEventListener('click',function() {//遍历小复选框for(let i = 0; i < cks.length; i++) {//让所有的小复选框同大复选框一同变化//下面这句的意思是让外面大的选择框有checked的时候里面的小复选框也同时加上这个属性cks[i].checked = checkAll.checked}})for(let i = 0; i < cks.length; i++) {cks[i].addEventListener('click',function() {//=后面返回的是false或truecheckAll.checked = document.querySelectorAll('.ck:checked').length === cks.length})}</script>
</body></html>

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Git进阶(十五):Git LFS 使用详解
  • vue3使用provide和inject传递异步请求数据子组件接收不到
  • 线程(二) 线程清理和控制、线程的属性
  • 4.C_数据结构_队列
  • 用Java实现人工智能
  • Selenium实现滑动滑块验证码验证!
  • 龙蜥8.9系统hadoop3.3.6上spark3.5.2安装(伪分布)
  • 在RabbitMQ中四种常见的消息路由模式
  • Red Hat 和 Debian Linux 对比
  • 小程序体验版无法正常请求接口,开启 调试可以正常请求
  • 本地不能訪問linux的kafka服務
  • 大模型教程:使用 Milvus、vLLM 和 Llama 3.1 搭建 RAG 应用
  • this 指向
  • vmware中的ubuntu系统扩容分区
  • uniapp如何实现图片轮播特效?
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • Angularjs之国际化
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • ES6 学习笔记(一)let,const和解构赋值
  • Idea+maven+scala构建包并在spark on yarn 运行
  • leetcode-27. Remove Element
  • PHP 的 SAPI 是个什么东西
  • redis学习笔记(三):列表、集合、有序集合
  • REST架构的思考
  • SQLServer之创建显式事务
  • SSH 免密登录
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • vue-router的history模式发布配置
  • Wamp集成环境 添加PHP的新版本
  • 不上全站https的网站你们就等着被恶心死吧
  • 关于Java中分层中遇到的一些问题
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 入口文件开始,分析Vue源码实现
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • 1.Ext JS 建立web开发工程
  • AI算硅基生命吗,为什么?
  • 阿里云ACE认证学习知识点梳理
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • #Lua:Lua调用C++生成的DLL库
  • #进阶:轻量级ORM框架Dapper的使用教程与原理详解
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • $.ajax()
  • (175)FPGA门控时钟技术
  • (C语言)逆序输出字符串
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (八)Flink Join 连接
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (多级缓存)多级缓存
  • (没学懂,待填坑)【动态规划】数位动态规划
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .NET Core引入性能分析引导优化
  • .net mvc 获取url中controller和action
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...