知识点

  1. 使用addEventListener可以避免变量全局污染。

  2. 如果想让某个节点元素的状态取反,可以进行取反操作。

  3. 单选按钮,增加checked属性,会使其变为选中状态。

    Element.type = !Element.type
    
  4. querySelectorAll通过选择器获取节点标签。

运行效果

代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>*{margin: 0;padding: 0;list-style: none;}#panel{width: 400px;box-shadow: 0 0 10px #000;margin: 100px auto;padding: 20px;}.panel-header{text-align: center;margin-bottom: 10px}.panel-content{display: flex;flex-direction: column;justify-content: space-around;font-size: larger}.panel-footer{text-align: center;margin-top: 10px}</style>
</head>
<body>
<div id="panel"><section class="panel-header"><h2>歌曲排行榜</h2><hr></section><section class="panel-content"><label><input type="checkbox">1. 野狼Disco</label><label><input type="checkbox">2. 这一生关于你的风景</label><label><input type="checkbox">3. 一生与你擦肩而过</label><label><input type="checkbox">4. 好几年</label><label><input type="checkbox">5. 你的答案</label><label><input type="checkbox">6. 下山</label><label><input type="checkbox">7. 欧若拉</label><label><input type="checkbox">8. 庸人自扰</label><label><input type="checkbox">9. 一百万个可能</label></section><section class="panel-footer"><hr><button id="allSelect">全选</button><button id="cancelSelect">取消选中</button><button id="reverseSelect">反选</button></section>
</div>
<script>window.onload = function (ev) {// 1. 获取所有复选框var inputs = document.querySelectorAll('input');// 2. 全选事件$('allSelect').addEventListener('click', function (ev1) {for (var i = 0; i < inputs.length; i++) {var input = inputs[i];input.checked = true;}});// 3. 取消选中事件$('cancelSelect').addEventListener('click', function (ev1) {for (var i = 0; i < inputs.length; i++) {var input = inputs[i];input.checked = false;}});// 4. 反选$('reverseSelect').addEventListener('click', function (ev1) {for (var i = 0; i < inputs.length; i++) {var input = inputs[i];input.checked = !input.checked;}});};/*** 通过id名获取元素* @param {string}id* @returns {any}*/function $(id) {return typeof id === 'string' ? document.getElementById(id) : null;}
</script>
</body>
</html>

Javascript特效:表单选中、取消选中、反选相关推荐

  1. JavaScript实现表单的全选,反选,获取值

    构思 通过for循环和for in循环来实现,界面效果如下 步骤 全选: 循环给所有的表单设置checked 反选: 循环内判断checked是否为true,如果为true则改为false否则改为tr ...

  2. php中表单的非空验证,Javascript的表单与验证-非空验证_javascript技巧

    JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证. 表单提交前要检查数据的合法性 在要对表单里的数据进行验证的时候,可以利用getElementById()来 ...

  3. 用 Javascript 验证表单(form)中多选框(checkbox)值

    和单选框一样,许多新手在用 Javascript 验证表单(form)中多选框(checkbox)的值时,都会遇到问题,原因是 checkbox 和普通的文本框在获取值的时候有很大不同,本文介绍了一个 ...

  4. JavaScript常用表单验证

    JavaScript常用表单验证 目录: 1:js 字符串长度限制.判断字符长度 .js限制输入.限制不能输入.textarea 长度限制 2.:js判断汉字.判断是否汉字 .只能输入汉字 3:js判 ...

  5. 如何通过纯javascript实现表单提交

    如何通过纯javascript实现表单提交 通常,如果是POST方法,一般使用vuejs+axios,或使用Jquery实现表单提交.有些地方,我想使用纯JS实现,比方简单的登陆跳转.话不多说,看原代 ...

  6. Javascript实现表单检验(如注册界面)

    Javascript实现表单检验(以注册界面为例) 正如我们所见到的,好多网页都有注册界面,在注册界面中,最常见的即是包括用户名.密码.请重复输入密码和一个"注册"按钮,今天我们就 ...

  7. html5 表单必填项,javascript - HTML5表单必填属性。 设置自定义验证消息?

    javascript - HTML5表单必填属性. 设置自定义验证消息? 我有以下HTML5表格:[http://jsfiddle.net/nfgfP/] ***** 目前当我在空白时点击输入时,会出 ...

  8. 用JavaScript获取表单里的值

    建立form表单里的标签:   文本输入框,密码输入框,单选框,多选框,下拉框,文本域,隐藏域   用JavaScript获取表单里的每一个值,   将值显示出来. 填写数据 获取的值如下: < ...

  9. Javascript阻止表单提交

    Javascript阻止表单提交 Html 1.<form name="loginForm" action="login.aspx" method=&qu ...

  10. js表单提交 php,JavaScript提交表单的几种方法

    在我们工作中我们会经常使用到form表单,相信大家再熟悉不过了,那么提交表单有很多种方法,JavaScript提交表单的方法又是如何呢,今天就带大家介绍下JavaScript提交表单的几种方法! 第一 ...

最新文章

  1. Oracle发布多语种虚拟机平台GraalVM 1.0
  2. Java中映射怎么实现_我们如何在Java 9的JShell中实现映射?
  3. 无休止加班的真正原因!你们公司是这样吗?
  4. tensorflow-yolov3 调试Intel Realsense D435摄像头所遇到的问题(USB自动检测并重置机制)hardware_reset() pyusb libusb devcon
  5. C++复习笔记3——类与对象(赋值重载、临时对象、const、static)
  6. 计算机内存有何组成,电脑4个4g内存条组成16g内存和16g内存有什么不同?
  7. linux tac文件最后五行,tac命令以及各种linux文件查看命令
  8. python使用Future、async、await、wait、gather、ensure_future、as_completed
  9. Ztmao主题猫wordpress主题经典失传版/WP网站模板下载站源码+全局SEO功能设定
  10. dede php低版本出现500错误,织梦后台生成文章提示500错误怎么办
  11. 联通云服务器怎么修改密码,桌面云使用说明
  12. 去除文件系统、只读等属性
  13. 新版完整标准 BS ISO-IEC 24745-2022 信息安全、网络安全和隐私保护-生物特征信息保护
  14. adroid xpose 修改java方法实例_基于xposed 修改硬件信息(xposed框架使用)
  15. 哥德巴赫猜想程序(C语言)
  16. Mybatis学习总结(结合个人理解)
  17. python集合的基本运算
  18. 从市场换手率变化判断头部
  19. 安卓开发(五)广播(Broadcasts)
  20. 从0到1亿,招商银行App用户增长的“道”与“术”

热门文章

  1. 25.软件磁盘阵列(Software RAID)
  2. c++ builder 存储过程 mysql mssql_C++ Builder实现Microsoft SQL Server 2000 的扩展存储过程...
  3. PADS 默认过孔太大,过孔提前设置
  4. [2019徐州网络赛J题]Random Access Iterator
  5. 【题解】Luogu P2992 [USACO10OPEN]三角形计数Triangle Counting
  6. windows与linux多线程对比
  7. Chapter 4 Invitations——10
  8. 网络安全态势感知(NSSA)----引言
  9. git学习之简介(一)
  10. Java学习之基本概念