【JavaScript】DOM查询之全选练习

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

bcfb30fba4eb41038b2bb869d59bbe17.gif

代码:

<!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>
相关文章
|
8天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的自驾游攻略查询系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的自驾游攻略查询系统附带文章和源代码部署视频讲解等
15 6
|
3天前
|
JavaScript 前端开发 安全
【JavaScript 】DOM操作快速入门
【JavaScript 】DOM操作快速入门
6 2
|
4天前
|
JavaScript 前端开发 UED
JavaScript基础-DOM操作:查找、创建、修改
【6月更文挑战第12天】本文介绍了DOM基础,包括查找元素(getElementById、getElementsByClassName等)、创建新节点(createElement、createTextNode)和修改节点(innerText、innerHTML、setAttribute等)。强调了易错点,如ID唯一性、性能考量和安全问题,并提供了代码示例。熟练掌握DOM操作对前端开发至关重要,但应注意性能优化,适时使用框架或库。
JavaScript基础-DOM操作:查找、创建、修改
|
9天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的武汉市公交路线查询系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的武汉市公交路线查询系统附带文章和源代码部署视频讲解等
8 0
|
9天前
|
前端开发 JavaScript 搜索推荐
[初学者必看]JavaScript 15题简单小例子练习,锻炼代码逻辑思维
【6月更文挑战第3天】这是一个JavaScript编程练习集,包含15个题目及答案:计算两数之和、判断偶数、找数组最大值、字符串反转、回文检测、斐波那契数列、数组去重、冒泡排序、阶乘计算、数组元素检查、数组求和、字符计数、数组最值和质数判断以及数组扁平化。每个题目都有相应的代码实现示例。
11 1
|
10天前
|
Java 测试技术 数据安全/隐私保护
基于ssm+vue.js+uniapp小程序的城市公交在线查询系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的城市公交在线查询系统附带文章和源代码部署视频讲解等
6 0
基于ssm+vue.js+uniapp小程序的城市公交在线查询系统附带文章和源代码部署视频讲解等
|
10天前
|
存储 前端开发 JavaScript
[初学者必看]JavaScript 简单实际案例练习,锻炼代码逻辑思维
【6月更文挑战第2天】这是一个前端小项目合集,包括图片轮播器、动态列表、模态框、表单验证等14个项目,旨在帮助初学者提升编码技能和实战经验。每个项目提供关键提示,如使用HTML、CSS和JavaScript实现不同功能,如事件监听、动画效果和数据处理。通过这些项目,学习者可以锻炼前端基础并增强实际操作能力。
14 2
|
11天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的网络直播带货查询系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的网络直播带货查询系统附带文章和源代码部署视频讲解等
15 4
|
12天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的四六级报名与成绩查询系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的四六级报名与成绩查询系统附带文章和源代码部署视频讲解等
11 1
|
12天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的技术疫情防控自动售货机系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的技术疫情防控自动售货机系统附带文章和源代码部署视频讲解等
14 0
基于ssm+vue.js+uniapp小程序的技术疫情防控自动售货机系统附带文章和源代码部署视频讲解等