初识 jQuery(JavaScript 框架)

news2025/1/10 19:54:38

初识 jQuery(JavaScript 框架)

  • 参考
  • 描述
  • jQuery
      • 使用 jQuery 的开发优势(部分)
      • 获取
  • jQuery 语法
      • 基础语法
      • 入口函数
      • $()
          • jQuery 与 $
          • 参数
  • DOM 与 jQuery
      • 模板
      • 获取
          • DOM 对象
          • jQuery 对象
      • 转换
          • DOM 对象转换为 jQuery 对象
            • $()
          • jQuery 对象转换为 DOM 对象
            • get() 方法
            • 索引

参考

项目描述
jQuery API 中文文档https://www.jquery123.com/
jQuery 中文网http://www.jquerycn.cn/course/jquery-jquery-tutorial.html
搜索引擎Bing
黑马程序员web前端基础教程4天从零玩转jQuery

描述

项目描述
操作系统Windows 10 专业版
jQuery3.6.3
Edge108.0.1462.54 (正式版本) (64 位)

jQuery

jQuery 是一个高效、精简并且功能丰富的 JavaScript 工具库。它提供的 API 易于使用且兼容众多浏览器,这让诸如 HTML 文档遍历和操作、事件处理、动画和 Ajax 操作更加简单。
jQuery 设计的宗旨是 Write Less,Do More,即倡导写更少的代码,做更多的事情。jQuery 封装了 JavaScript 中常用的功能代码以提供一种简便的 JavaScript 设计模式。

宗旨

使用 jQuery 的开发优势(部分)

  1. jQuery 可以添加多个入口函数,而原生 JavaScript 仅能使用一个入口函数,若使用了多个入口函数,则后面的入口函数会将前面的入口函数覆盖。
  2. 原生 JavaScript 中的部分代码存在兼容性问题,而 jQuery 对部分实现进行了兼容性处理,可以兼容所有的主流浏览器(jQuery 自 2.0 版本开始不再支持 IE6、IE7 及 IE8)。
  3. 原生 JavaScript 的容错能力较弱,如果前面的代码中发生了错误则后面的代码将无法成功执行。
  4. 原生 JavaScript 的 API 冗长难以记忆,而 jQuery 的 API 简洁易懂。
  5. 轻量级。jQuery 文件在压缩后大小仅 30 KB 左右。
  6. 强大的选择器功能,你可以通过 jQuery 提供的选择器使用 CSS 语法或 jQuery 自创的选择器语法来快速对目标元素进行选择。除此之外,你还可以通过使用插件使 jQuery 支持使用 XPath 语法来对目标元素进行选择。
  7. JQuery中最有特色的地方莫过于它的链式操作,即对发生在同一个JQuery对象上的一组动作,可以直接接连写无需要重复获取对象,这一特点使得用 JQuery 写出的代码无比优雅。
  8. 隐式迭代机制。在使用 jQuery 选择器一次选中多个元素后,可以在不人为迭代这些元素的情况下对这些元素进行样式或行为上的设置。

获取

  1. jQuery 官网
  2. npm
npm install jquery
  1. 从 CDN 中载入 jQuery

jQuery 语法

基础语法

$(selector).action()

其中:
选择器selector 用于查找指定的 HTML 元素,而 action() 则表示对目标元素执行的特定操作。

入口函数


DOM(Document Object Model,文档对象模型) 已经加载,并且页面(包括图像、iframe 等元素)已经完全呈现时,将发生 ready 事件。
由于使用 jQuery 时常需要操作 DOM,所以将 jQuery 代码放入 ready 事件调用函数(入口函数)是很好的习惯。

入口函数允许使用以下三种语法:

$(document).ready(function)
$().ready(function)
$(function)

其中:

function 指代当 ready 事件发生时执行的事件处理函数。

上述内容整理自 W3school


$()

你可以通过向 $() 函数提供选择符(选择器表达式)来获取目标 HTML 元素的 jQuery 对象。

jQuery 与 $

在 jQuery 中你会看到这么一行代码:

window.jQuery = window.$ = jQuery;

该行代码用于将 jQuery 构造的的 jQuery 函数作为 windows 的两个属性 jQuery$

也就是说,你可以将 jQuery 代码中出现的 $ 替换为 jQuery,两者起到的效果相同。

参数

提交给 $ 函数的参数将影响 jQuery 函数的工作模式:

参数类型描述
匿名函数Function该函数将作为 ready 事件发生时调用的函数(入口函数)。
jQuery 选择器String$ 函数将返回目标元素对应的 jQuery 对象。
HTMLString$ 函数将依据传递的 HTML 创建相应的标签。
DOMObject$ 函数将会把该 DOM 对象转换为 jQuery 对象。

DOM 与 jQuery

模板

为了介绍 DOM 与 jQuery 的一些特性,我们需要一段 HTML 代码:

<!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>jQuery 与 DOM 的相互转换</title>
</head>
<body>
    <div id="One"></div>
    <div id="Two"></div>
    <div id="Three"></div>

    <!-- 导入 jQuery 文件 -->
    <script src="../../lib/jquery-3.6.3.js"></script>
    <script>
        // 我将在此处插入 JavaScript 或 jQuery 代码
    </script>
</body>
</html>

获取

DOM 对象

使用如下代码获取 ID 属性值为 OneHTML 元素对应的 DOM 对象:

const div = document.querySelector('#One');
console.log(div);

打印结果:
DOM对象
可以看到控制台中打印了该 DOM 对象,DOM 对象中包含了一些列属性和方法,你可以使用它们。

jQuery 对象
<!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>jQuery 与 DOM 的相互转换</title>
</head>
<body>
    <div id="One"></div>
    <div id="Two"></div>
    <div id="Three"></div>

    <!-- 导入 jQuery 文件 -->
    <script src="../../lib/jquery-3.6.3.js"></script>
    <script>
        // 我将在此处插入 jQuery 代码
        // const div = document.querySelector('#One');
        // console.log(div);
        const div = $('#One');
        console.log(div);
    </script>
</body>
</html>

打印结果

jQuery 对象

转换

DOM 对象转换为 jQuery 对象
$()
// 获取 #One 元素对应的 DOM 对象
const div = document.querySelector('#One');
console.log(div);

// 将 DOM 对象转换为 jQuery 对象
console.log($(div));

打印结果:

DOM 转换为 jQuery 对象

jQuery 对象转换为 DOM 对象
get() 方法

通过使用 jQuery 对象的 get() 方法,我们可以将 jQuery 对象转换为 DOM 对象。

// 获取 #One 元素对应的 DOM 对象
const div = $('#One');
console.log(div);

// 将 jQuery 对象转换为 DOM 对象
console.log(div.get());

打印结果:

打印结果

可以看到,使用 get() 将 jQuery 对象转换为 DOM 对象得到的将是一个包含 DOM 对象的数组,我们还需要将 DOM 对象从这个数组中取出来。所以完整的代码应该是:

// 获取 #One 元素对应的 DOM 对象
const div = $('#One');
console.log(div);

// 将 jQuery 对象转换为 DOM 对象
console.log(div.get()[0]);

打印结果:
打印结果

索引

在使用 get() 方法将 jQuery 对象转换为 DOM 对象时我们得到了这个结果。

打印结果

不知道各位有没有觉得箭头指向部分有些可疑呢?
jQuery 对象是一个伪数组对象,我们可以通过向 [] 符号传入指定索引来获得目标元素,就像从数组对象中获取元素一样,因此我们可以尝试通过使用以下方法来或将 jQuery 对象转换为 DOM 对象:

// 获取 #One 元素对应的 DOM 对象
const div = $('#One');
console.log(div);

// 将 jQuery 对象转换为 DOM 对象
console.log(div[0]);

打印结果:

打印结果

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux系统管理中Nginx和python的安装以及python虚拟环境软件的安装与使用(四)

1、Nginx的安装和配置&#xff1a; 说明&#xff1a;Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器&#xff1b;同时也是一个IMAP、POP3、SMTP代理服务器&#xff1b;Nginx可以作为一个HTTP服务器进行网站的发布处理&#xff0c;另外Nginx可以作为反向代理进…

C++:list结构算法

List 1.元素在逻辑上具有线性次序&#xff0c;物理地址不做限制。 2.哨兵节点&#xff0c;header和trailer&#xff0c;封装后外部不可见。 3.重载操作符[]&#xff0c;实现下标和位置转换。 4.有序查找无序查找 5.前插入算法&#xff0c;首先创建新节点 然后使new成为this节点…

设计模式之代理模式(静态动态)代理

前言&#xff1a;二十三种设计模式中的一种&#xff0c;属于结构型模式。它的作用就是通过提供一个代理类&#xff0c;让我们在调用目标方法的时候&#xff0c;不再是直接对目标方法进行调用&#xff0c;而是通过代理类间接调用。让不属于目标方法核心逻辑的代码从目标方法中剥…

PHP设计模式

目录 一、使用设计模式目的 二、设计模式的七大原则 三、创建型模式&#xff08;构建型模式&#xff09; 1、单例模式 代码实例 2、工厂模式 2.1、工厂模式——简单工厂模式 简单工厂模式的代码实例 2.2、工厂模式——工厂方法模式 工厂方法模式的代码实例 2.3、工厂…

java开发环境配置及问题排查

Java程序必须运行在JVM之上&#xff0c;所以&#xff0c;我们第一件事情就是安装JDK。 JDK(Java Development Kit)&#xff0c;是Java开发工具包&#xff0c;它提供了Java的开发环境(提供了编译器javac等工具&#xff0c;用于将java文件编译为class文件)和运行环境(提 供了JVM…

Java内存模型和线程安全

Java内存模型和线程安全Java内存模型引言volatile关键字synchronized关键字Java线程Java线程安全synchronized锁优化锁优化技巧列举自旋锁锁消除锁粗化具体实现轻量级锁偏向锁Java内存模型 引言 对于多核处理器而言,每个核都会有自己单独的高速缓存,又因为这多个处理器共享同一…

JavaWeb-会话技术

JavaWeb-会话技术 1&#xff0c;会话跟踪技术的概述 对于会话跟踪这四个词&#xff0c;我们需要拆开来进行解释&#xff0c;首先要理解什么是会话&#xff0c;然后再去理解什么是会话跟踪: 会话:用户打开浏览器&#xff0c;访问web服务器的资源&#xff0c;会话建立&#xff…

反射机制.

文章目录概述两个疑问关于java.lang.Class的理解获取Class实例的方式哪些类型可以有Class对象了解类的加载器掌握加载配置文件的另一种方式创建运行时类的对象体会动态性获取运行时类的完整结构调用运行时类的制定结构每日一考动态代理概述 1、反射是动态语言的关键 2、动态语…

使用Docker打包镜像并发布

1、docker介绍 Docker 是一个开源的应用容器引擎&#xff0c;以镜像的形式进行发布。docker的图标是一个大鲸鱼驮着许多集装箱在海上航行。大鲸鱼就是docker&#xff0c;集装箱就是一个个容器。容器是完全使用沙箱机制&#xff0c;相互之间不会有任何接口&#xff0c;每个容器都…

高级Spring之BeanFactory 与 ApplicationContext 的区别

ApplicationContext接口 SpringBootApplication public class A01 {private static final Logger log LoggerFactory.getLogger(A01.class);public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException, IOException {//启动SpringBoot程序…

Python Scipy 显著性检验

Scipy 显著性检验显著性检验&#xff08;significance test&#xff09;就是事先对总体&#xff08;随机变量&#xff09;的参数或总体分布形式做出一个假设&#xff0c;然后利用样本信息来判断这个假设&#xff08;备择假设&#xff09;是否合理&#xff0c;即判断总体的真实情…

Linux基本功系列之userdel命令实战

春节马上要到了&#xff0c;大街上到处都是张灯结彩&#xff0c;喜气洋洋的景象&#xff0c;你们那里也开始了吗&#xff1f; 文章目录一. userdel命令概述二. 语法格式及常用选项语法格式及常用参数三. 参考案例3.1 删除用户但不删除家目录等相关的文件3.2 把用户彻底删除3.3 …

【Linux05-进程控制】进程创建、进程等待、进程退出、进程程序替换(附简易shell实现)

前言 本期分享进程控制的内容。 博主水平有限&#xff0c;不足之处望请斧正&#xff01; 进程的控制主要分为四点&#xff1a; 进程创建进程退出进程等待进程程序替换 进程创建 怎么创建 通过fork创建。 #fork 是什么 创建子进程的函数。&#xff08;使用已经介绍过&am…

Python基础学习 -- 概念

一、变量python的变量定义起来比较随意&#xff0c;不用定义数据类型a123b"123"系统会自动识别a为数值&#xff0c;b为字符串二、关键字定义变量名字的时候&#xff0c;要避开下面的关键字&#xff0c;但是可以通过大小写区分&#xff0c;as123;#错误定义As123;print…

阿里云服务器ECS

云服务器 ECS云服务器ECS&#xff08;Elastic Compute Service&#xff09;是一种简单高效、处理能力可弹性伸缩的计算服务。帮助您构建更稳定、安全的应用&#xff0c;提升运维效率&#xff0c;降低IT成本&#xff0c;使您更专注于核心业务创新。为什么选择云服务器ECS选择云服…

音频如何分割成两段音频?这些实用方法值得收藏

有些时候&#xff0c;我们从网上下载的音频素材可能会出现体积较大、播放时间长等情况&#xff0c;而我们却只需要其中的一小段。这个时候我们就需要借助一些音频分割软件来将重要的音频片段提取出来&#xff0c;从而有助于缩小音频文件的占比以及存储。那么如何如何分割音频呢…

JVM进修之路(一)程序计数器与虚拟机栈

JVM 定义&#xff1a;JVM:Java Virtual Machine&#xff0c;也就是Java运行时所需要的环境&#xff08;Java二进制字节码运行时所需要的环境&#xff09; 好处&#xff1a; 1.java代码一次编写&#xff0c;跨平台运行 2.自动内存管理&#xff0c;垃圾回收 3.数组下标越界检查 4…

千锋Node.js学习笔记

千锋Node.js学习笔记 文章目录千锋Node.js学习笔记写在前面1. 认识Node.js2. NVM3. NPM4. NRM5. NPX6. 模块/包与CommonJS7. 常用内置模块1. url2. querystring3. http4. 跨域jsonpcorsmiddleware&#xff08;http-proxy-middleware&#xff09;5. 爬虫6. events7. File System…

Mysql常用命令练习(一)

Mysql常用命令练习&#xff08;一&#xff09;一、数据库的三层结构二、数据库2.1、创建数据库2.2、查看、删除数据库2.3、备份和恢复数据库三、表3.1、创建表mysql常用的数据类型(列类型)创建表查看表查看表结构练习3.2、修改表修改表名修改表的字符集添加列修改列删除列练习3…

轻量级网络模型ShuffleNet

在学习ShuffleNet内容前需要简单了解卷积神经网络和MobileNet的相关内容&#xff0c;大家可以去看我之前的一篇博客MobileNet发展脉络&#xff08;V1-V2-V3&#xff09;&#xff0c;&#x1f197;&#xff0c;接下来步入正题~卷积神经网络被广泛应用在图像分类、目标检测等视觉…