jquery VS Dom(小实例单选-多选-反选)
一直以来大家对jquery评价莫过于六个字 “吃得少,干的多” ,应用实例让大家看看这款牛到爆的插件能帮我们做什么,话不多说,直接加码
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Title</title>
- </head>
- <body>
- <input type="button" value="全选" onclick="CheckAll()"/>
- <input type="button" value="取消" onclick="CancleAll()"/>
- <input type="button" value="反选" onclick="ReverseAll()"/>
- <table border="1">
- <thead>
- <tr>
- <th>序 号</th>
- <th>用 户</th>
- <th>密 码</th>
- </tr>
- </thead>
- <tbody id="i1">
- <tr>
- <td><input type="checkbox"/></td>
- <td>1</td>
- <td>11</td>
- </tr>
- <tr>
- <td><input type="checkbox"/></td>
- <td>2</td>
- <td>22</td>
- </tr>
- <tr>
- <td><input type="checkbox"/></td>
- <td>3</td>
- <td>33</td>
- </tr>
- </tbody>
- </table>
- <script src="jquery-3.5.1.js"></script>
- <script>
- function CheckAll() {
- //Dom版本
- // //根据id找到对应的tbody标签
- // var tb = document.getElementById('i1');
- // //找到tbody标签下的子类tr,再将其赋值给trs
- // var trs = tb.children;
- // //对trs内的每个标签进行循环,找到相应的td标签
- // for (var i = 0; i < trs.length; i++) {
- // //循环体中拿到对应的td标签并对其内容进行检索
- // var current_tr = trs[i];
- // //利用两次firstElementChild取得标签input
- // var ck = current_tr.firstElementChild.firstElementChild;
- // ck.checked = true;
- // //这里不建议用set或者remove去修改自定义属性,尤其是remove,执行一次后就没法再做其他修改,容易产生bug
- // // ck.setAttribute('checked', 'checked');
- // }
- //jquery版本
- $('#i1 :checkbox').prop('checked', true);
- }
- function CancleAll() {
- /*
- var tb = document.getElementById('i1');
- var trs = tb.children;
- //在trs内循环
- for (var i = 0; i < trs.length; i++) {
- var current_tr = trs[i];
- var ck = current_tr.firstElementChild.firstElementChild;
- ck.checked = false;
- }
- */
- //jquery版本
- $('#i1 :checkbox').prop('checked', false);
- }
- function ReverseAll() {
- /*
- var tb = document.getElementById('i1');
- var trs = tb.children;
- for (var i = 0; i < trs.length; i++) {
- var current_tr = trs[i];
- var ck = current_tr.firstElementChild.firstElementChild;
- if (ck.checked) {
- ck.checked = false;
- // ck.removeAttribute("checked");
- } else {
- ck.checked = true;
- // ck.setAttribute('checked', 'checked');
- }
- }
- */
- $('#i1 :checkbox').each(function (i) {
- //this 当前循环的运行的标签
- if ($(this).prop('checked')) {
- $(this).prop('checked', false);
- } else {
- $(this).prop('checked', true);
- }
- })
- }
- </script>
- </body>
- </html>
重点关注中间函数部分,注释掉的使用Dom写的,没注释的是用了神器Jquery。没有对比就没有伤害,一个的一大段被简单的一行就替代了,心好累。。。。。
当然,不能排斥Dom,因为Jquery也是用Dom封装的,所以我们可以用简单的方式实现功能,但还是得回到其根本上探究其原理,而且,在某些特定环境下并不推荐使用Jquery,
例如用户流量加载的情况下,什么都没运行之前先得加载一个插件,确实有点奢侈呀!!!!
jquery VS Dom(小实例单选-多选-反选)的更多相关文章
- jquery-1 jquery几个小实例
jquery-1 jquery几个小实例 一.总结 一句话总结:jquery真的是简单加简便. 1.jquery中改变多个css属性怎么整? 可以链式连接方式,也可以大括号整多个.中间是键值对加引号 ...
- python: DOM 小实例
一.全选 全部取消 反选 全选:选择指定的所有项目. 全部取消: 取消所有选定的项目. 反选: 选择未选定的,之前已选定的则取消. <!DOCTYPE html> <html la ...
- jQuery 与js判断是否单选复选选中
js判断复选:这段代码昨天网上查看的资料没保存出处,抱歉 var obj=document.getElementsByName("diseaseSet"); //选择所有name= ...
- jQuery的DOM操作实例(3)——创建节点&&编写一个弹窗
一.原生JavaScript编写弹窗 二.jQuery编写弹窗 知识点归纳总结: 在原生JavaScript中,创建一个节点: var oDiv=document.createElement(&quo ...
- jQuery的DOM操作实例(2)——拖拽效果&&拓展插件
一.原生JavaScript编写拖拽效果 二.jQuery编写的拖拽效果 三.在jQuery中拓展一个拖拽插件
- jQuery的DOM操作实例(1)——选项卡&&Tab切换
一.原生JavaScript编写tab切换 二.jQuery编写tab切换 在用jQuery编写选项卡过程中,重要的事搞清楚 .eq() 和 .index() 的使用方法. .eq()是jQuery遍 ...
- JS基础(一)dom小实例
DOM的新增示例 <script language="JavaScript"> window.onload = function(){ //createDocument ...
- 微信小程序单选/多选框样式重新
/* 重写 checkbox 样式 */ /* 未选中的 背景样式 */ checkbox .wx-checkbox-input{ border-radius: 50%;/* 圆角 */ width: ...
- JQuery 更改属性 JQ对象循环 each 全选反选 三元运算
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
随机推荐
- (五)PL/SQL条件控制
简述 决策结构需要程序员指定一个或多个条件要计算,或由程序进行测试,如果条件被确定为真那么一条或多条语句被执行,如果要被执行的其它语句条件被确定为假,则选其它执行块. PL/SQL编程语言提供了以下几 ...
- socket编程-多个客户端向服务器发送人脸照片,服务器返回识别结果(服务器使用多线程)...
recognition.py import numpy as np import face_recognition import os class recognition: def __init__( ...
- TypeScript 2.0 正式发布
9 月 22 日,TypeScript 2.0 正式发布了. TypeScript 是微软开发的开源的编程语言,主要负责人是 C# 之父 Anders Hejlsberg. TypeScript 成功 ...
- FreeRTOS-Qemu 实现三任务同步通信机制以及API信息
1. 本次作业的考察要点: 作业地址:github.com/HustWolfzzb-Git/GCC/GDB/QEMU等工具的使用.FreeRTOS多任务同步和通信机制的掌握. 2. 编程作业: 在gi ...
- Js6利用class创建类
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 带权并查集--hdu3047 ZJnu stadium
题意:给出一个n,m,n表示的是有n 个人,m表示的是 有m 对关系: 接下来输入的就是这m对关系,a,b,x:表示的是a,b相距x个距离:然后判断输入的是否与这个数的上面的数信息一致, 输出不一致的 ...
- 算法竞赛进阶指南--lowbit运算,找到二进制下所有是1的位
// lowbit运算,找到二进制下所有是1的位 int H[37]; // 预处理 for (int i = 0; i < 36; i++) H[(1ll << i) % 37] ...
- RobotFrameWork 自动化环境搭建(基于 python2.7)
1.自动化工具安装顺序 robot Framework(两个RF框架) WXpython(不要更改安装路径,自动安装在python文件中) 安装依赖库 RF3.0 和 RF1.5.2.1 打开 rid ...
- 设计模式(Java语言)- 原型模式
原型模式(Prototype Pattern)也有人将原型模式称为克隆模式,是属于创造型设计模式,用于创建重复的对象,提供了一种创建对象的最佳方式.原型模式需要实现Cloneable接口,来实现对象的 ...
- 第 4 篇:用类视图实现首页 API
作者:HelloGitHub-追梦人物 文中所涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 django-rest-framework 类视图拓展自 django 的类视图,只 ...