【JavaScript】DOM查询之全选练习

简介: 【JavaScript】DOM查询之全选练习

通过上期【JavaScript】DOM和事件简介和文档加载流程以及DOM查询(上)案例(附源码)再接一个全选小练习。


实现效果:



代码:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        window.onload = function(){
            //找到所有元素
            var items = document.getElementsByName('item');
            //全选和全不选的按钮
            var checkAll = document.getElementById('checkAll');
            //给全选框添加单击事件函数
            document.getElementById('checkAllBtn').onclick = function(){
                //找到所有元素
                for(var i = 0; i<items.length; i ++){
                    items[i].checked = true;
                }
                checkAll.checked = true;
            }
            //给全不选框添加单击事件函数
            document.getElementById('checkAllNoBtn').onclick = function(){
                for(var i = 0;i<items.length; i ++){
                    items[i].checked =false;
                }
                checkAll.checked = false;
            }
            //给反选框添加单击事件函数
            document.getElementById('checkReBtn').onclick = function(){
                checkAll.checked = true;
                for(var i = 0;i<items.length;i ++){
                    if(items[i].checked){
                        items[i].checked = false;
                    }else{
                        items[i].checked = true;
                    }
                    if(items[i].checked == false){
                            checkAll.checked = false;
                        }
                }
            }
            //给提交按钮添加单击事件函数
            document.getElementById('send').onclick = function(){
                for(var i = 0;i<items.length;i ++){
                    if(items[i].checked){
                        alert(items[i].value)
                    }
                }
            }
            //给全选/全不选框添加单击事件函数
            document.getElementById('checkAll').onclick = function(){
                for(var i = 0;i<items.length;i ++){
                    items[i].checked = this.checked;
                }
            }
            //给items设置单击相应函数
            for(var i = 0;i<items.length;i ++){
                items[i].onclick = function(){
                    checkAll.checked = true;
                    for(var j = 0;j<items.length; j++){
                        if(items[j].checked == false){
                            checkAll.checked = false;
                            break;
                        }
                    }
                }
            }
        }
    </script>
    <style>
        div{
            width: 350px;
            margin: 50 auto;
            background-color:lightblue;
            text-align: center;
        }
    </style>
</head>
<body>
    <div>
        <span>你拥有以下哪些角色?</span>
        <input type="checkbox" id="checkAll" value="全选/全不选">全选/全不选<br>
        <input type="checkbox" name="item" value="枫原万叶">枫原万叶
        <input type="checkbox" name="item" value="可丽">可丽
        <input type="checkbox" name="item" value="刻晴">刻晴
        <input type="checkbox" name="item" value="魈">魈
        <input type="checkbox" name="item" value="钟离">钟离<br>
        <input type="button" id="checkAllBtn" value="全选">
        <input type="button" id="checkAllNoBtn" value="全不选">
        <input type="button" id="checkReBtn" value="反选"><br>
        <input type="submit" id="send" value="提交">
    </div>
</body>
</html>
目录
打赏
0
0
0
0
2
分享
相关文章
CSS 与 JS 对 DOM 解析和渲染的影响
【10月更文挑战第16天】CSS 和 JS 会在一定程度上影响 DOM 解析和渲染,了解它们之间的相互作用以及采取适当的优化措施是非常重要的。通过合理的布局和加载策略,可以提高网页的性能和用户体验,确保页面能够快速、流畅地呈现给用户。在实际开发中,要根据具体情况进行权衡和调整,以达到最佳的效果。
261 57
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
js中DOM的基础方法
【10月更文挑战第31天】这些DOM基础方法是操作网页文档结构和实现交互效果的重要工具,通过它们可以动态地改变页面的内容、样式和行为,为用户提供丰富的交互体验。
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
248 5
.js的dom元素操作
【10月更文挑战第29天】通过灵活运用这些 DOM 元素操作方法,JavaScript 可以实现丰富的网页交互效果,如动态更新页面内容、响应用户操作、创建和删除页面元素等。在实际开发中,开发者可以根据具体的需求和场景,选择合适的 DOM 元素操作方法来实现所需的功能,为用户提供更加流畅和动态的网页体验。
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
212 2
JavaScript中的原型 保姆级文章一文搞懂
本文详细解析了JavaScript中的原型概念,从构造函数、原型对象、`__proto__`属性、`constructor`属性到原型链,层层递进地解释了JavaScript如何通过原型实现继承机制。适合初学者深入理解JS面向对象编程的核心原理。
113 1
JavaScript中的原型 保姆级文章一文搞懂
|
8月前
JS+CSS3文章内容背景黑白切换源码
JS+CSS3文章内容背景黑白切换源码是一款基于JS+CSS3制作的简单网页文章文字内容背景颜色黑白切换效果。
81 0
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
303 5
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问