jQuery总结(思维导图+二维表+问题)

关于什么是jQuery:(下面是菜鸟里的介绍)

jQuery 是一个 JavaScript 库。

jQuery 极大地简化了 JavaScript 编程。

jQuery 很容易学习。

而jQuery对我的感受就是,链式运用的很形象,隐式迭代还有一些兼容性强的优点,由于上面说了jQuery是JavaScript的一个库,因此jQuery相对js来说,书写会更简单。因此jQuery可以更简单的操作DOM树。

下面来看一看我的jQuery总结吧,主要是一些思维导图和二维表,还有一些我练习时出现的问题

思维导图

 这里是大多数内容的总结,这是第一版

上面这是第二版,专门挑出事件的原因是,其实jQuery的使用大多是要写一些可以让静态页面动起来的代码,而这些情况下,事件的使用尤为重要。

第三版也是目前的最新版,基础内容中一些语法就像是$符号的使用或者是jQuery中的each,map等循环都包含在的其中,优势的话就是上面提到的一些兼容性,使用简洁等等,而特征就是最明显的链式调用了

第二个分支中的DOM操作,也算是一些函数的使用吧,包括属性样式内容的操作,而第一版的选择器,过滤器,还有我后来了解到的筛选器也都包含到了内容操作里,因为这些的使用其实就是为了筛选出自己想要的内容。

第三个分支,还是最重要的事件了,而事件的开始到结束大概就包含这三个步骤,事件捕获,然后监听,然后就是操作或委派等

二维表

DOM对象和jQuery对象

DOM 对象

jQuery 对象

实质

文档对象模型是 web 上构成文档结构和内容的对象的数据表示。

通过 jQuery 函数对 DOM 对象进行包装后得到的对象,本质是包含零个或多个 DOM 对象的集合

方法和属性

属性如 innerHTML、style、tagName 等,方法如 appendChild、removeChild、getAttribute、setAttribute

属性如 length,方法如 text ()、css ()、hide ()、show ()、click ()

使用场景和便捷性

适用于底层、性能要求极高或需紧密结合浏览器原生功能场景。用于直接对网页文档的结构和内容进行操作,如动态加载内容、修改页面布局等

适用于快速开发、简化常见 DOM 操作和事件处理场景,语法简洁,可链式调用,减少代码量

兼容性和性能

几乎所有现代浏览器支持,部分旧版本可能不支持高级 DOM 特性,操作不当易引发重排重绘影响性能

处理了浏览器兼容性问题,在多数浏览器可用,内部对 DOM 操作有优化,简单操作时可能稍慢于直接用 DOM 对象

我认为在学习jQuery时,最主要的就是要区分好jQuery对象和DOM对象,以及他们使用的函数

each()与$.each()与forEach()

$().each()

$.each()

forEach()

所属库

jQuery(用于 jQuery 对象)

jQuery(用于数组和对象)

JavaScript 原生(用于数组)

语法

对于数组:$.each(array, function(index, currentValue) {... });

,对于对象:$.each(object, function(key, value) {... });

array.forEach(function(currentValue, index, array) {... });

作用对象

主要用于遍历 jQuery 对象(DOM 元素集合)

可以遍历数组和对象

仅用于遍历数组???/对象??看情况(再说吧)

返回值

返回 jQuery 对象本身,允许链式调用

返回被遍历的原始对象(数组或对象)

返回值(为undefined),主要用于对数组元素执行操作

使用场景

在操作 DOM 元素集合

例如对一组<div>元素进行样式修改、事件绑定等操作时使用

用于遍历和操作JavaScript 数组或对象

在纯 JavaScript 代码中遍历数组,执行例如打印元素、修改元素属性等操作

$.each()与$.map()

$.each()

$.map()

默认返回值

当前遍历的数组值(之前的)

返回空数组(新创建的)

主要使用对象

主要用于遍历jquery对象。

主要用来遍历操作数组和对象

在回调函数中return新的值

不支持

支持

使用方式

$.each(array/object,function(index/key,value){ code })。

index指遍历对象成员的索引,value指成员的内容。如果需要退出循环可使回调函数返回 false,其它返回值将被忽略。

$.map(array/object,function(value,index/key){ code })

index指遍历对象成员的索引,value指成员的内容。如果需要退出循环可使回调函数返回 false,其它返回值将被忽略。

共同点

不支持对在回调函数中对当前正在遍历的数组值进行修改

append和appendTo的区别

append()

appendTo()

定义

向匹配元素集合中的每个元素结尾插入由参数指定的内容。

向目标结尾插入匹配元素集合中的每个元素。

在被选元素的结尾(仍然在内部)插入指定内容。 两种方法执行的任务相同。

语法

$(selector).append(content);

$(selector).append(function(index,html));

$(content).appendto(selector);

(不能使用函数来附加内容)

接收参数

一个或多个DOM元素,元素数组,HTML字符串,或jQuery对象或者回调函数。

一个选择符,元素,HTML字符串,DOM元素数组,或者jQuery对象

适用场景

在现有元素内部添加内容
方便的链式操作

移动元素位置
分离内容与目标选择逻辑

其实这个的区别不太大,当时感觉有点分不清就做了这个二维表,他们两个最显著的区别就是前后的参数不一样,而我认为他们最大的区别就是后面那个不能使用函数来附加内容

其他的一些小问题

1.就像是arguments是和event?因为当时在写事件的东西时,就想到了arguments,因为event是浏览器自带的一个事件对象,而arguments同样也是函数内置的一个对象

2.关于隐藏元素时,display:none和visibility:hidden有什么区别?

前端 - 隐藏元素 display:none 与 visibility:hidden 的区别你真的知道吗? - eveningwater - SegmentFault 思否

关于这位大佬写的我觉得很好,赞赞赞

3.还有在link导入css时未成功,发现是样式表的问题,其中包括三种样式表

但是查的时候看见了一个表,我觉的很清晰,但是忘了从哪找的了

4.thead、tbody、tfoot和平常写的表格有什么区别?其实就是应用了前面这些东西,让表格的定义更加有顺序,因为正常的表格都是有表头,身体,脚这三个部分的

5.关于变量提升和函数提升的问题?这个大家可以自己去查一下,我觉得大部分的讲解都很清楚

6.还有就是一个在写事件时又发现了一个event对象中的which属性:里面包含的大多数的鼠标事件或者是键盘事件等等,都有对应的返回值,我觉得这个可能对写用户事件触发的时候有一些帮助,大家可以去了解一下

7.另外还有一些,比如说注解啊,插件的写法之类的

还有就是一些在写最后的实例时用到的一些琐碎的知识点就不详细说了

总结来说jQuery很像当时学JavaScript一样,所以我觉得如果JavaScript学的差不多那么jQuery应该也问题不大,毕竟时封装的一个库嘛

最后附赠一个今天验收的实例

其实目的主要是,这几个div随着浏览器的移动始终保持在一定的位置,并且每一个div都有她自己的显示和隐藏方式。

如果有想找我要代码的,随时可以私信噢,大概就写这么多了,白白啦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/940092.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

(14)CT137A- 动态数码管设计

&#xff08;1&#xff09;了解板卡原理图中数码管的特性&#xff1a;共阳极数码管&#xff0c;公共端连接了电源&#xff0c;FPGA IO口低电平有效&#xff0c;另外&#xff0c;可以看到位选端FPGA位选低电平时选通。 &#xff08;2&#xff09;刷新时间的设定&#xff1a;众所…

UG NX二次开发(C#)-如何设置UGOpen的UF_CAM_geom_type_e枚举类型

文章目录 1、前言2、UF_CAM_geom_type_e类型说明3、在C#的类型1、前言 UG NX二次开发提供的帮助文档,无论是c/c++、C#、Python、VB语言,其采用UFun函数时都是参考的UGOpen的帮助文档,即是:UGOPEN函数参考手册(nx6).CHM,后续的都没有怎么增加,这个在哪个版本中都适用。但…

内容与资讯API优质清单

作为开发者&#xff0c;拥有一套API合集是必不可少的。这个开发者必备的API合集汇集了各种实用的API资源&#xff0c;为你的开发工作提供了强大的支持&#xff01;无论你是在构建网站、开发应用还是进行数据分析&#xff0c;这个合集都能满足你的需求。你可以通过这些免费API获…

vue使用v-if和:class完成条件渲染

1.使用v-if 和v-else 完成主body和暂无数据两个<tbody>标签的条件渲染(注意与v-show效果的区别) 2.v-for完成列表渲染 3.:class完成分数标红的条件控制 删哪个就传哪个的id&#xff0c;基于这个id去过滤掉相同id的项&#xff0c;把剩下的项返回 <td><a click.p…

C++ OpenGL学习笔记(2、绘制橙色三角形绘制、绿色随时间变化的三角形绘制)

相关文章链接 C OpenGL学习笔记&#xff08;1、Hello World空窗口程序&#xff09; 目录 绘制橙色三角形绘制1、主要修改内容有&#xff1a;1.1、在主程序的基础上增加如下3个函数1.2、另外在主程序外面新增3个全局变量1.3、编写两个shader程序文件 2、initModel()函数3、initS…

vue基础作业实验十

vue基础作业实验十 实验要求案例要点&#xff1a;代码以及思考style部分Vue.js 部分Vue 实例部分 这段代码是一个基于 Vue.js 的静态页面&#xff0c;功能包括商品品牌的添加、删除和搜索。 实验要求 一、实验的基本内容 &#xff08;1&#xff09;Vue模板语法。 &#xff08…

PHP+MySQL 学生信息管理系统

目录 MySQL建表指令 主页面展示 主页面源代码如下 增&#xff1a;添加学生信息 添加html如下 html&#xff1a;主要用于显示网页内容 成功添加后回显 ​编辑 增加php如下 删&#xff1a;删除学生信息 删除html如下 成功删除后回显 删除php如下 改&#xff1a;修改学…

QT网络(四):HTTP通信

Qt 网络模块提供一些类来实现 OSI 七层网络模型中高层的网络协议&#xff0c;如 HTTP、FTP、SNMP 等&#xff0c;这些类主要是 QNetworkRequest、QNetworkAccessManager 和 QNetworkReply。QNetworkRequest 类 通过 URL 发起网络协议请求&#xff0c;其也保存网络请求的信息&a…

Pytorch | 从零构建Vgg对CIFAR10进行分类

Pytorch | 从零构建Vgg对CIFAR10进行分类 CIFAR10数据集Vgg网络结构特点性能应用影响 Vgg结构代码详解结构代码代码详解特征提取层 _make_layers前向传播 forward 训练过程和测试结果代码汇总vgg.pytrain.pytest.py 前面文章我们构建了AlexNet对CIFAR10进行分类&#xff1a; Py…

将4G太阳能无线监控的视频接入电子监控大屏,要考虑哪些方面?

随着科技的飞速发展&#xff0c;4G太阳能无线监控系统以其独特的优势在远程监控领域脱颖而出。这种系统结合了太阳能供电的环保特性和4G无线传输的便捷性&#xff0c;为各种环境尤其是无电或电网不稳定的地区提供了一种高效、可靠的视频监控解决方案。将这些视频流接入大屏显示…

ASP.NET |日常开发中连接Mysql数据库增删改查详解

ASP.NET &#xff5c;日常开发中连接Mysql数据库增删改查详解 前言一、连接 MySQL 数据库1.1 安装和引用相关库1.2 建立数据库连接 二、数据库增删改查操作2.1 插入数据&#xff08;Insert&#xff09;2.2 查询数据&#xff08;Select&#xff09;2.3 更新数据&#xff08;Upda…

Go框架比较:goframe、beego、iris和gin

由于工作需要&#xff0c;这些年来也接触了不少的开发框架&#xff0c;Golang的开发框架比较多&#xff0c;不过基本都是Web"框架"为主。这里稍微打了个引号&#xff0c;因为大部分"框架"从设计和功能定位上来讲&#xff0c;充其量都只能算是一个组件&…

LLaMA-Factory 单卡3080*2 deepspeed zero3 微调Qwen2.5-7B-Instruct

环境安装 git clone https://gitcode.com/gh_mirrors/ll/LLaMA-Factory.git 下载模型 pip install modelscope modelscope download --model Qwen/Qwen2.5-7B-Instruct --local_dir /root/autodl-tmp/models/Qwen/Qwen2.5-7B-Instruct 微调 llamafactory-cli train \--st…

华为ensp--BGP路径选择-AS_Path

学习新思想&#xff0c;争做新青年&#xff0c;今天学习的是BGP路径选择-AS_Path 实验目的: 理解AS_Path属性的概念 理解通过AS_Path属性进行选路的机制 掌握修改AS_Path属性的方法 实验内容: 本实验模拟了一个运营商网络场景&#xff0c;所有路由器都运行BGP协议&#xff…

泛微OA定时任务的设置

泛微OA定时任务 背景 在日常流程开发中&#xff0c;是需要和别的系统进行连接的&#xff0c;比如OA和SAP之间的数据传输。 SAP涉及到的业务数据在生成之后&#xff0c;需要在OA生成对应的流程进行信息的审核&#xff0c;但是毕竟是两个不同的系统&#xff0c;所以数据同步是需…

【Harmony Next】多个图文配合解释DevEco Studio工程中,如何配置App相关内容,一次解决多个问题?

解决App配置相关问题列表 1、Harmony Next如何配置图标&#xff1f; 2、Harmony Next如何配置App名称&#xff1f; 3、Harmony Next如何配置版本号&#xff1f; 4、Harmony Next如何配置Bundle ID? 5、Harmony Next如何配置build号&#xff1f; 6、Harmony Next多语言配置在哪…

如何从0构建一个flask项目,直接上实操!!!

项目结构 首先&#xff0c;创建一个项目目录&#xff0c;结构如下&#xff1a; flask_app/ │ ├── app.py # Flask 应用代码 ├── static/ # 存放静态文件&#xff08;如CSS、JS、图片等&#xff09; │ └── style.css # 示例…

计算机网络B重修班-期末复习

[TOC] (计算机网络B重修班-期末复习&#xff09; 一、单选 &#xff08;20题&#xff0c;1分/题&#xff0c;共20分&#xff09; 二、判断 &#xff08;10题&#xff0c;1分/题&#xff0c;共10分&#xff09; 三、填空 &#xff08;10题&#xff0c;1分/题&#xff0c;共10…

js日期时区问题

东八区与0时区 东八区 我们所在地域使用的是 东八区 时区&#xff0c;所以平常使用的电脑设置的多是东八时区 js获取的时间格式 0时区 0时区 也叫 协调世界时 js获取的时间格式 数据库读取时间数据 平常从数据读取的时间默认是0时区的&#xff0c;成以下格式&#xff1a; 2024…

Ubantu22系统安装Miniconda3

1、Anaconda和Miniconda异同 清华源镜像的Miniconda3和Anaconda都是用于管理Python环境和软件包的工具&#xff0c;但它们之间存在一些关键的不同之处。下面将分别介绍它们的特点以及使用清华源镜像的差异。 相同点&#xff1a; &#xff08;1&#xff09;功能相似&#xff1a…