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都有她自己的显示和隐藏方式。

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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python数据分析:介绍pandas库的数据类型Series和DataFrame

安装pandas pip install pandas -i https://mirrors.aliyun.com/pypi/simple/ 使用pandas 直接导入即可 import pandas as pd pandas的数据结构 pandas提供了两种主要的数据结构&#xff1a;Series 和 DataFrame,类似于python提供list列表&#xff0c;dict字典&#xff0c;…

安装opnet14.5遇到的问题

安装opnet遇到的问题 我是按照这个教程来安装的。 然后遇到了两个问题&#xff1a; 1、“mod_dirs”目录问题 Can’t enable ETS scripting support due to missing files。 This is likely because:<opnet_release_dir>\sys\lib is notinclude in the “mod_dirs” pre…

SLAAC如何工作?

SLAAC如何工作&#xff1f; IPv6无状态地址自动配置(SLAAC)-常见问题 - 苍然满关中 - 博客园 https://support.huawei.com/enterprise/zh/doc/EDOC1100323788?sectionj00shttps://www.zhihu.com/question/6691553243/answer/57023796400 主机在启动或接口UP后&#xff0c;发…

6.3.1 MR实战:计算总分与平均分

在本次实战中&#xff0c;我们的目标是利用Apache Hadoop的MapReduce框架来处理和分析学生成绩数据。具体来说&#xff0c;我们将计算一个包含五名学生五门科目成绩的数据集的总分和平均分。这个过程包括在云主机上准备数据&#xff0c;将成绩数据存储为文本文件&#xff0c;并…

空天地遥感数据识别与计算--数据分析如何助力农林牧渔、城市发展、地质灾害监测等行业革新

在科技飞速发展的时代&#xff0c;遥感数据的精准分析已经成为推动各行业智能决策的关键工具。从无人机监测农田到卫星数据支持气候研究&#xff0c;空天地遥感数据正以前所未有的方式为科研和商业带来深刻变革。然而&#xff0c;对于许多专业人士而言&#xff0c;如何高效地处…

基于langchain的Agent(实现实时查询天气)

心血来潮&#xff0c;玩一下Agent&#xff0c;实现了多轮对话功能 import requests, jsonfrom langchain.agents import load_tools from langchain.agents import initialize_agent from langchain_community.llms.tongyi import Tongyi from langchain.memory import Conver…

《剑网三》遇到找不到d3dx9_42.dll的问题要怎么解决?缺失d3dx9_42.dll是什么原因?

《剑网三》游戏运行中d3dx9_42.dll缺失问题深度解析与解决方案 在畅游《剑网三》的武侠世界时&#xff0c;不少玩家可能会遇到系统提示“找不到d3dx9_42.dll”的报错信息。这一突如其来的问题不仅让游戏进程受阻&#xff0c;还可能让玩家陷入困惑与无奈。我将为大家深入剖析这…

springboot443旅游管理系统(论文+源码)_kaic

摘 要 如今社会上各行各业&#xff0c;都喜欢用自己行业的专属软件工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发现离不开了互联网。新技术的产生&#xff0c;往往能解决一些老技术的弊端问题。因为传统旅游管理系统信息管理难度大&#xff0c;容错率低&#…

OneCode:开启高效编程新时代——企业定制出码手册

一、概述 OneCode 的 DSM&#xff08;领域特定建模&#xff09;出码模块是一个强大的工具&#xff0c;它支持多种建模方式&#xff0c;并具有强大的模型转换与集成能力&#xff0c;能够提升开发效率和代码质量&#xff0c;同时方便团队协作与知识传承&#xff0c;还具备方便的仿…

OpenCV(python)从入门到精通——运算操作

加法减法操作 import cv2 as cv import numpy as npx np.uint8([250]) y np.uint8([10])x_1 np.uint8([10]) y_1 np.uint8([20])# 加法,相加最大只能为255 print(cv.add(x,y))# 减法&#xff0c;相互减最小值只能为0 print(cv.subtract(x_1,y_1))图像加法 import cv2 as…

git 删除鉴权缓存及账号信息

在Windows系统下 清除凭证管理器中的Git凭据 按下Win R键&#xff0c;打开“运行”对话框&#xff0c;输入control&#xff0c;然后回车&#xff0c;打开控制面板。在控制面板中找到“用户账户”&#xff0c;然后点击“凭据管理器”。在凭据管理器中&#xff0c;找到“Windows…

【Linux进程】进程间的通信

目录 1. 进程间通信 1.1 进程间通信的目的 2. 管道 2.1 什么是管道 2.2. 匿名管道 匿名管道的特性 管道的4种情况 联系shell中的管道 2.3. 命名管道 代码级建立命名管道 2.4. 小结 总结 1. 进程间通信 进程间通信&#xff08;Inter-Process Communication&#xff0c;IPC&…

leecode494.目标和

这道题目第一眼感觉就不像是动态规划&#xff0c;可以看出来是回溯问题&#xff0c;但是暴力回溯超时&#xff0c;想要用动态规划得进行一点数学转换 class Solution { public:int findTargetSumWays(vector<int>& nums, int target) {int nnums.size(),bagWeight0,s…

会话守护进程

会话&&守护进程 文章目录 会话&&守护进程1.会话1.概念和特性2.创建会话3.getsid和setsid函数getsid函数setsid 函数 4.代码 2.守护进程3.创建守护进程模型守护进程创建步骤&#xff1a;两个函数 完整代码&#xff1a; 1.会话 1.概念和特性 进程组&#xff0c…

学习反射(反射的使用,反射的应用场景)

目录 反射的使用 总的测试代码如下 反射的应用场景 反射的使用 大家先看一个案例 有一个person 类 属性有 String 类型的 name ,int age &#xff0c;还有一个 方法 a。 package fs;public class Person {private String name;private int age;public void a(){System.out.p…

在ESP32使用AT指令集与服务器进行TCP/IP通信时,<link ID> 解释

在ESP32使用AT指令集与服务器进行TCP/IP通信时&#xff0c;<link ID> 是一个非常重要的参数。它用于标识不同的连接实例&#xff0c;特别是在多连接场景下&#xff08;如同时建立多个TCP或UDP连接&#xff09;。每个连接都有唯一的<link ID>&#xff0c;通过这个ID…

Ansible 批量管理华为 CE 交换机

注&#xff1a;本文为 “Ansible 管理华为 CE 交换机” 相关文章合辑。 使用 CloudEngine - Ansible 批量管理华为 CE 交换机 wsf535 IP 属地&#xff1a;贵州 2018.02.05 15:26:05 总体介绍 Ansible 是一个开源的自动化运维工具&#xff0c;AnsibleWorks 成立于 2012 年&a…

【python虚拟环境安装】linux centos 下的python虚拟环境配置

linux centos 下的python虚拟环境配置 在 CentOS 环境中处理 pip 安装警告的方法1. 创建并使用虚拟环境2. 忽略警告并继续使用 root 用户安装&#xff08;不推荐&#xff09;报错问题处理 在 CentOS 环境中处理 pip 安装警告的方法 当在 CentOS 环境中遇到 pip 安装警告时&…

【Datawhale AI 冬令营】如何动手微调出自己的大模型

目录 总体思路实操案例数据集构造收集数据数据构造 模型微调选择模型选择数据集参数配置开始训练 模型使用 总体思路 微调大模型主要以开源的通用大模型为基础&#xff0c;喂给模型自己准备的数据&#xff0c;将通用的大模型往自己想要的方向引导&#xff0c;变成更偏向某一领…

Python编程常用的19个经典案例

Python 的简洁和强大使其成为许多开发者的首选语言。本文将介绍36个常用的Python经典代码案例。这些示例覆盖了基础语法、常见任务、以及一些高级功能。 1. 列表推导式 fizz_buzz_list ["FizzBuzz" if i % 15 0 else "Fizz" if i % 3 0 else "Buzz…