JS 全选反选取消

html:

html 复制代码
 <div>
        <div>
           <a href="#">全选</a>
           <a href="#">反选</a>
           <a href="#">取消</a>
        </div>
        <label><input type="checkbox" value="苹果" name="box">苹果</label><br>
        <label><input type="checkbox" value="草莓" name="box">草莓</label><br>
        <label><input type="checkbox" value="橙子" name="box">橙子</label><br>
        <label><input type="checkbox" value="苹果" name="box">苹果</label><br>
        <label><input type="checkbox" value="西瓜" name="box">西瓜</label>

    </div>

script:

javascript 复制代码
<script>
        var inputs = document.querySelectorAll("input")
        //   全选
        document.querySelectorAll("a")[0].onclick = function () {
            for (let i = 0; i < inputs.length; i++) {
                inputs[i].checked = true
            }
        }
        // 反选
        document.querySelectorAll("a")[1].onclick = function () {
            for (let i = 0; i < inputs.length; i++) {
                if (inputs[i].checked == true) {
                    inputs[i].checked = false
                } else {
                    inputs[i].checked = true
                }
            }
        }
        // 取消
        document.querySelectorAll("a")[2].onclick = function () {
            for (let i = 0; i < inputs.length; i++) {
                inputs[i].checked = false
            }
        }
    </script>
相关推荐
程序员爱钓鱼几秒前
Go语言泛型-泛型约束与实践
前端·后端·go
前端小巷子2 分钟前
web从输入网址到页面加载完成
前端·面试·浏览器
江城开朗的豌豆3 分钟前
Vue路由动态生成秘籍:让你的链接'活'起来!
前端·javascript·vue.js
晓得迷路了3 分钟前
栗子前端技术周刊第 88 期 - Apache ECharts 6.0 beta、Deno 2.4、Astro 5.11...
前端·javascript·echarts
江城开朗的豌豆9 分钟前
在写vue公用组件的时候,怎么提高可配置性
前端·javascript·vue.js
江城开朗的豌豆9 分钟前
Vue路由跳转的N种姿势,总有一种适合你!
前端·javascript·vue.js
江城开朗的豌豆10 分钟前
Vue路由玩法大揭秘:三种路由模式你Pick谁?
前端·javascript·vue.js
江城开朗的豌豆11 分钟前
Vue路由守卫全攻略:给页面访问装上'安检门'
前端·javascript·vue.js
小磊哥er17 分钟前
【前端工程化】前端组件模版构建那些事
前端
尘浮72817 分钟前
60天python训练计划----day59
开发语言·python