【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>
相关文章
|
13天前
|
缓存 JavaScript 前端开发
【JavaScript 技术专栏】DOM 操作全攻略:从基础到进阶
【4月更文挑战第30天】本文深入讲解JavaScript与DOM交互,涵盖DOM基础、获取/修改元素、创建/删除元素、事件处理结合及性能优化。通过学习,开发者能掌握动态改变网页内容、结构和样式的技能,实现更丰富的交互体验。文中还讨论了DOM操作在实际案例、与其他前端技术结合的应用,助你提升前端开发能力。
|
2天前
|
JavaScript 前端开发
JavaScript 提供了多种方法来操作 DOM(文档对象模型)
【5月更文挑战第11天】JavaScript 用于DOM操作的方法包括获取元素(getElementById, getElementsByClassName等)、修改内容(innerHTML, innerText, textContent)、改变属性、添加/删除元素(appendChild, removeChild)和调整样式。此外,addEventListener用于监听事件。注意要考虑兼容性和性能当使用这些技术。
6 2
|
6天前
|
JavaScript 前端开发 安全
javascript操作DOM的方法
javascript操作DOM的方法
11 0
|
7天前
|
JavaScript 前端开发 容器
js操作dom元素
js操作dom元素
13 0
|
9天前
|
JavaScript 前端开发 C语言
JavaScript编程语法练习
本篇文章是对于javaScript中if ,switch,while ,do-while,,for语法的作业练习.对于我来说也是对自己知识掌握的一种检验.是对js的基础语法进行的一次练习,通过有趣的示例进行练习,使得对于代码能够增加印象,对于知识的掌握更加透彻.
|
1月前
|
缓存 JavaScript 前端开发
JavaScript中DOM操作:新手常犯错误与避免策略
【4月更文挑战第1天】本文介绍了JavaScript中DOM操作的基础和新手常犯错误,包括频繁查询DOM、不恰当的遍历、滥用innerHTML、忽视异步与DOM状态以及过度同步更新。建议包括缓存DOM引用、注意文本节点、慎用innerHTML以防止XSS、正确处理异步和批量更新。遵循最佳实践,开发者能提升代码质量和应用性能。
25 2
|
2月前
|
JavaScript 前端开发
JavaScript操作DOM元素
JavaScript操作DOM元素
14 1
|
13天前
|
前端开发 JavaScript 数据安全/隐私保护
前端javascript的DOM对象操作技巧,全场景解析(二)
前端javascript的DOM对象操作技巧,全场景解析(二)
|
13天前
|
移动开发 缓存 JavaScript
前端javascript的DOM对象操作技巧,全场景解析(一)
前端javascript的DOM对象操作技巧,全场景解析(一)
|
13天前
|
JavaScript 前端开发
JavaScript DOM 文档对象模型(获取、改变html元素)
JavaScript DOM 文档对象模型(获取、改变html元素)