jQuery 基本操作

news2024/12/23 9:23:49

01-简介

    jQuery 是一个功能丰富且广泛使用的 JavaScript 库,它简化了 HTML 文档遍历和操作、事件处理、动画和 Ajax 操作。jQuery 通过其易用的 API,使复杂的 JavaScript 编程任务变得更加简单,并且兼容各种浏览器。

1、jQuery特点

  • 简化 DOM 操作:jQuery 提供了简洁的选择器和方法,可以轻松地查找和操作 DOM 元素。
  • 跨浏览器兼容性:jQuery 处理了许多不同浏览器之间的兼容性问题,使开发者可以编写一次代码,在多个浏览器中无缝运行。
  • 事件处理:jQuery 提供了简单且强大的事件绑定和事件触发功能。
  • 动画效果:jQuery 提供了多种内置动画效果,可以轻松实现复杂的动画。
  • Ajax 支持:jQuery 使与服务器进行异步通信变得简单,方便实现无刷新页面更新。
  • 插件系统:jQuery 拥有丰富的插件库,可以扩展其功能以满足各种需求。

2、为什么要选择用jQuery,而不用原生JavaScript开发

  • 简化 DOM 操作:jQuery 提供了简洁、直观的选择器和方法,使 DOM 操作变得更加简单和直观。
  • 跨浏览器兼容性:jQuery 处理了不同浏览器之间的兼容性问题,使得开发者可以编写一次代码,并在多个浏览器中无缝运行。
  • 简化事件处理:jQuery 提供了简单且强大的事件绑定和事件委托方法,简化了事件处理的代码。
  • 丰富的动画效果:jQuery 提供了多种内置动画效果,可以轻松实现复杂的动画。
  • 强大的 Ajax 支持:jQuery 使与服务器进行异步通信变得简单,方便实现无刷新页面更新。
  • 插件系统:jQuery 拥有丰富的插件库,可以扩展其功能以满足各种需求。
  • 简洁的链式语法:jQuery 采用链式语法,可以在一次选择后连续调用多个方法,提高代码的可读性和简洁性。
总结:
尽管现代前端框架(如 React、Vue、Angular)的兴起,使得 jQuery 的使用有所减少,但在许多简单项目、快速开发、或需要跨浏览器兼容性的情况下,jQuery 仍然是一个非常有用的工具。它简化了许多常见的 JavaScript 任务,使得开发者可以更高效地编写功能强大且兼容性良好的 Web 应用程序。

02-jQuery基本使用

1、引入jQuery

     可以通过 CDN 或下载本地文件来引入 jQuery。使用 CDN 是推荐的方式,因为它可以提高加载速度。
    通过 CDN 引入 jQuery
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

2、基本用法

    2.1、 选择元素 

        使用 ‘$’ 函数和选择器来选择元素。
$(document).ready(function() {
    $("p").css("color", "blue"); // 将所有段落的文字颜色改为蓝色
});

    2.2、 修改内容

$(document).ready(function() {
    $("#myParagraph").text("Hello, jQuery!"); // 修改 id 为 myParagraph 的段落的文本
});

    2.3、 添加和删除元素

$(document).ready(function() {
    $("ul").append("<li>New item</li>"); // 向所有 ul 元素添加一个新列表项
    $("li:first").remove(); // 删除第一个列表项
});

03-jQuery选择器

A. 基本选择器  

1、元素选择器: 选择所有指定元素。

$("p").css("color", "blue"); // 选择所有段落元素

2、ID选择器: 选择具有特定 ID 的元素。

$("#myId").text("Hello, World!"); // 选择 id 为 myId 的元素

3、类选择器: 选择具有特定类的元素。

$(".myClass").hide(); // 选择 class 为 myClass 的元素

4、全部选择器: 选择所有元素。

$("*").css("border", "1px solid red"); // 选择所有元素

B. 层级选择器

1、后代选择器: 选择所有符合条件的后代元素。

$("ul li").css("color", "green"); // 选择所有 ul 元素的 li 后代元素

2、子选择器: 选择所有符合条件的子元素。

$("ul > li").css("color", "blue"); // 选择所有 ul 元素的直接子元素 li

3、同级选择器: 选择所有符合条件的同级元素。

$("h2 + p").css("color", "purple"); // 选择紧接在 h2 元素后的第一个 p 元素
$("h2 ~ p").css("color", "orange"); // 选择 h2 元素之后的所有 p 元素

C. 属性选择器

1、具有指定属性的元素:

$("input[name]").css("border", "1px solid red"); // 选择所有具有 name 属性的 input 元素

2、具有指定属性值的元素:

$("input[name='username']").css("background-color", "yellow"); // 选择所有 name 属性值为 username 的 input 元素

3、属性值以特定值开头的元素:

$("input[name^='user']").css("background-color", "lightblue"); // 选择所有 name 属性值以 user 开头的 input 元素

4、属性值以特定值结尾的元素:

$("input[name$='name']").css("background-color", "lightgreen"); // 选择所有 name 属性值以 name 结尾的 input 元素

5、属性值包含特定值的元素:

$("input[name*='ser']").css("background-color", "lightcoral"); // 选择所有 name 属性值包含 ser 的 input 元素

D. 过滤选择器

1、:选择第一个元素。

$("p:first").css("color", "red"); // 选择第一个段落元素

2、:选择最后一个元素。

$("p:last").css("color", "blue"); // 选择最后一个段落元素

3、: 选择索引为偶数或奇数的元素(索引从 0 开始)。

$("tr:even").css("background-color", "lightgray"); // 选择索引为偶数的行
$("tr:odd").css("background-color", "lightblue"); // 选择索引为奇数的行

4、(index): 选择具有指定索引的元素。

$("li:eq(2)").css("color", "purple"); // 选择索引为 2 的列表项

5、(index): 选择索引大于或小于指定值的元素。

$("li:gt(2)").css("color", "green"); // 选择索引大于 2 的列表项
$("li:lt(2)").css("color", "red"); // 选择索引小于 2 的列表项

6、(selector): 选择不匹配指定选择器的元素。

$("p:not(.intro)").css("color", "gray"); // 选择不具有 class 为 intro 的段落元素

7、(text): 选择包含指定文本的元素。

$("p:contains('jQuery')").css("font-weight", "bold"); // 选择包含文本 "jQuery" 的段落元素

8、(selector): 选择包含指定选择器的元素。

$("div:has(p)").css("border", "1px solid blue"); // 选择包含段落元素的所有 div 元素

9、 :选择没有子元素的空元素。

$("p:empty").text("This was empty"); // 选择所有空的段落元素并添加文本

10、 :选择至少包含一个子元素的元素。

$("p:parent").css("border", "1px solid green"); // 选择所有包含子元素的段落元素

11、 :选择可见或隐藏的元素。

$("div:visible").css("border", "1px solid red"); // 选择所有可见的 div 元素
$("div:hidden").show(); // 显示所有隐藏的 div 元素

E. 子元素过滤器

1、 :选择父元素的第一个或最后一个子元素。

$("p:first-child").css("color", "red"); // 选择每个父元素的第一个子元素
$("p:last-child").css("color", "blue"); // 选择每个父元素的最后一个子元素

2、(n) :选择父元素的第 n 个子元素(从 1 开始)。

$("li:nth-child(2)").css("color", "green"); // 选择每个父元素的第二个子元素

3、 :选择是唯一子元素的元素。

$("p:only-child").css("font-weight", "bold"); // 选择是唯一子元素的段落元素

F. 表单选择器

1、 :选择所有表单元素。

$(":input").css("border", "1px solid blue"); // 选择所有表单元素

2、 :选择特定类型的表单元素。

$(":text").val("New text value"); // 选择所有文本输入框并设置新值

3、 :选择所有选中的复选框或单选按钮。

$(":checkbox:checked").css("border", "1px solid red"); // 选择所有选中的复选框

4、 :选择所有选中的选项。

$("option:selected").css("background-color", "yellow"); // 选择所有选中的选项

5、 :选择所有禁用或启用的表单元素。

$(":disabled").css("background-color", "lightgray"); // 选择所有禁用的表单元素

04-方法

     jQuery 提供了大量的方法来简化 DOM 操作、事件处理、动画和 Ajax 操作。

A. DOM操作方法

1、‘text()’:获取或设置元素的文本内容。

$("#myElement").text("New text content");

2、‘html()’:获取或设置元素的 HTML 内容。

$("#myElement").html("<b>Bold text</b>");

3、‘val()’:获取或设置表单元素的值。

$("input[type='text']").val("New value");

4、‘attr()’:获取或设置属性值。

$("img").attr("src", "new-image.jpg");

5、‘css()’:获取或设置 CSS 样式。

$("#myElement").css("color", "red");

6、‘addClass()’:向元素添加一个或多个类。

$("#myElement").addClass("newClass");

7、‘ removeClass()’:从元素中删除一个或多个类。

$("#myElement").removeClass("oldClass");

8、‘ toggleClass()’:在元素中切换类。

$("#myElement").toggleClass("active");

9、‘ append() ’:在元素内部的末尾插入内容。

$("ul").append("<li>New item</li>");

10、‘ prepend() ’:在元素内部的开头插入内容。

$("ul").prepend("<li>First item</li>");

11、‘ after() ’:在元素之后插入内容。

$("#myElement").after("<p>New paragraph</p>");

12、‘ before() ’:在元素之前插入内容。

$("#myElement").before("<p>New paragraph</p>");

13、‘ remove() ’:移除元素。

$("#myElement").remove();

14、‘ empty() ’:清空元素的内容。

$("#myElement").empty();

B. 事件处理方法

1、‘ click() ’: 绑定点击事件处理程序。

$("#myButton").click(function() {
    alert("Button clicked!");
});

2、‘ dblclick() ’: 绑定双击事件处理程序。

$("#myButton").dblclick(function() {
    alert("Button double-clicked!");
});

3、‘ hover() ’: 绑定鼠标悬停和离开事件处理程序。

$("#myElement").hover(
    function() {
        $(this).css("background-color", "yellow");
    },
    function() {
        $(this).css("background-color", "white");
    }
);

4、‘ on() ’: 用于事件委托,绑定多个事件。

$("#parentElement").on("click", ".childElement", function() {
    $(this).css("color", "red");
});

5、‘ off() ’: 移除事件处理程序。

$("#myButton").off("click");

C. 动画效果

1、‘ show() ’: 显示元素。

$("#myElement").show();

2、‘ hide() ’: 隐藏元素。

$("#myElement").hide();

3、‘ toggle() ’: 切换元素的显示状态。

$("#myElement").toggle();

4、‘ fadeIn() ’: 淡入显示元素。

$("#myElement").fadeIn();

5、‘ fadeOut() ’: 淡出隐藏元素。

$("#myElement").fadeOut();

6、‘ slideUp() ’: 向上滑动隐藏元素。

$("#myElement").slideUp();

7、‘ slideDown() ’: 向下滑动显示元素。

$("#myElement").slideDown();

8、‘ animate() ’: 自定义动画。

$("#myElement").animate({
    left: '250px',
    opacity: '0.5',
    height: 'toggle'
});

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

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

相关文章

数据库设计概述-数据库设计内容、数据库设计方法(基于E-R模型的规范设计方法)

一、引言 如何利用关系数据库理论设计一个满足应用系统需求的数据库 二、数据库设计内容 1、数据库设计是基于应用系统需求分析中对数据的需求&#xff0c;解决数据的抽象、数据的表达和数据的存储结构等问题 2、其目标是设计出一个满足应用要求、简洁、高效、规范合理的数…

Python基础教程(三十):math模块

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; &#x1f49d;&#x1f49…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] LYA的巡演(100分) - 三语言AC题解(Python/Java/Cpp)

&#x1f36d; 大家好这里是清隆学长 &#xff0c;一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 &#x1f4bb; ACM银牌&#x1f948;| 多次AK大厂笔试 &#xff5c; 编程一对一辅导 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&#x1f497; &#x1f…

Stm32超声波测距实验

一.任务需求 1. 采用stm32F103和HC-SR04超声波模块&#xff0c; 使用标准库或HAL库 定时器中断&#xff0c;完成1或2路的超声波障碍物测距功能。 2. 当前智能汽车上一般配置有12路超声波雷达&#xff0c;这些专用超声波雷达内置了MCU&#xff0c;直接输出数字化的测距结果&am…

分类判决界面---W-H、H-K算法

本篇文章是博主在人工智能等领域学习时&#xff0c;用于个人学习、研究或者欣赏使用&#xff0c;并基于博主对人工智能等领域的一些理解而记录的学习摘录和笔记&#xff0c;若有不当和侵权之处&#xff0c;指出后将会立即改正&#xff0c;还望谅解。文章分类在AI学习笔记&#…

文件管理—linux(基础IO)

目录 ​编辑 一、C语言文件接口&#xff08;库函数&#xff09; hello.c写文件 hello.c读文件 输出信息到显示器 stdin & stdout & stderr 二、系统文件I/O&#xff08;系统调用&#xff09; hello.c 写文件&#xff1a; hello.c读文件 接口介绍 open open…

基于Java学生选课管理系统设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;…

STM32多种开发环境及生成hex及bin文件介绍

一.STM32开发环境 KEIL系列 &#xff08;1&#xff09;KEIL公司目前有四款独立的嵌入式软件开发工具&#xff0c;即MDK、KEIL C51、KEIL C166、KEIL C251&#xff0c;它们都是KEIL公司品牌下的产品&#xff0c;都基于uVision集成开发环境&#xff0c;其中MDK是RealView系列中…

从零对Transformer的理解(台大李宏毅)

Self-attention layer自注意力 对比与传统cnn和rnn&#xff0c;都是需要t-1时刻的状态然后得到t时刻的状态。我不知道这样理解对不对&#xff0c;反正从代码上看我是这么认为的。而transformer的子注意力机制是在同一时刻产生。意思就是输入一个时间序列&#xff0c;在计算完权…

内存马的错误参数获取,导致原有接口失效解决方案

内存马的错误参数获取&#xff0c;导致接口失效。 前言 java Listener 类型内存马&#xff0c;在使用request.getParameter(String name); 获取请求参数去判断是否是恶意请求的时候&#xff0c;会影响某些框架无法接收到参数。 例子 在Jersey 框架 使用 MultivaluedMap 去接…

MSPM0G3507——创建新的.c.h文件

在项目处点击右键&#xff0c;再点击New File 再命名.c.h即可

mysql中的datetime类型在Java中到底对应哪个时间类型?

因为MySQL中用的是datetime类型&#xff08;年月日 时分秒&#xff09; java.sql.Date 在Java中用 java.sql.Date 接收 但是得到的却只有年月日 前端接收到的是时间戳 java.time.LocalDateTime 在Java中使用 java.time.LocalDateTime 接收 得到的是带时区的时间 前端接收到的…

红队内网攻防渗透:内网渗透之内网对抗:横向移动篇入口差异切换上线IPC管道ATSC任务Impacket套件UI插件

红队内网攻防渗透 1. 内网横向移动1.1 横向移动入口知识点1.1.1、当前被控机处于域内还是域外1.1.1.1 在域内1.1.1.2 不在域内1.1.1.2.1 第一种方法提权到system权限1.1.1.2.2 第二种方法切换用户上线1.1.1.2.3 kerbrute枚举用户1.1.2、当前凭据为明文密码还是HASH1.2 横向移动…

Vue3中使用el-table遇到的问题

我在使用element-plus中el-table组件的时候&#xff0c;对于某一<el-table-column>标签内的内容设置show-overflow-tooltip属性&#xff0c;但这里溢出展示的tooltip的默认样式是无法像el-tooltip标签那样&#xff0c;直接可以修改的。默认的样式是这样&#xff1a; 因此…

江协科技51单片机学习- p11 静态数码管显示

前言&#xff1a; 本文是根据哔哩哔哩网站上“江协科技51单片机”视频的学习笔记&#xff0c;在这里会记录下江协科技51单片机开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了江协科技51单片机教学视频和链接中的内容。 引用&#xff1a; 51单片机入门教程-2…

包含网关的概念及案例演示

包容网关 知识点讲解 包容网关可以看作排他网关和并行网关的结合体。与排他网一样&#xff0c;可以在外出顺序流上定义条件&#xff0c;但与排他网关不同的是&#xff0c; 进行决策判读时&#xff0c;包容网关所有条件为true的后继分支都会被依次执行。如果所有分支条件都为fa…

24年火爆全网的企业信贷产品-民生惠详解

今年&#xff0c;民生惠企业信贷产品非常火爆&#xff01;客户想申请这信用贷款前&#xff0c;先确认下自己是不是在白名单里。有些地区还能加进白名单&#xff0c;不在的话就别申请了&#xff0c;这是专门给受邀的小微企业的。 这款产品的细节是这样的&#xff1a; 额度&am…

实用软件下载:会声会影2023最新安装包及详细安装教程

可以说它不仅符合家庭或个人所需的影片剪辑功能&#xff0c;甚至能够挑战专业级的影片剪辑软件&#xff0c;适合一般大众使用&#xff0c;操作简单易懂&#xff0c;界面简洁明快。从总体上来看影片制作向导模式&#xff0c;只要三个步骤就可快速做出DV影片&#xff0c;入门初学…

一篇快速教你如何创建专业级数据可视化库

Seaborn 是一个基于 matplotlib 的 Python 库,主要用于数据探索、统计可视化和交互式分析.它提供了一种更高级、更美观的方式来绘制统计图表. 安装&#xff1a; pip install seaborn示例&#xff1a; import seaborn as sns import pandas as pd import matplotlib.pyp…

服务器SSH 免密码登录

1. 背景 为了服务器的安全着想&#xff0c;设置的服务器密钥非常长。但是这导致每次连接服务器都需要输入一长串的密码&#xff0c;把人折腾的很痛苦&#xff0c;所以我就在想&#xff0c;能不能在终端SSH的时候无需输入密码。 windows 可以使用 xshell 软件&#xff0c;会自…