jQuery常用内容

  • jQuery 介绍
    • jQuery 获取方式
      • 基本选择器 (最常用)
      • 层级选择器 (基于元素间关系)
      • 过滤选择器 (基于特定条件)
    • jQuery事件绑定
    • jQuery 方法调用
      • jQuery遍历
      • jQuery 获取与设置
      • jQuery 添加与删除
      • jQuery CSS 类
      • jQuery - AJAX
  • 总结

jQuery 介绍

jQuery 是一个轻量级、快速且功能丰富的 JavaScript 库。它的核心目标是让开发者能够更容易地在网站上使用 JavaScript 进行开发。简单来说,jQuery 是 JavaScript 的一个工具包。它提供了一套更简单、更一致的语法和函数,让你用更少的代码完成原本需要写很多行原生 JavaScript 才能实现的任务,尤其是在处理以下方面时特别方便:

  • 操作 HTML 元素 (DOM 操作):轻松地查找、选择、修改、添加、删除 HTML 元素。
  • 处理事件:更简洁地为元素添加点击、鼠标悬停、键盘按下等事件监听器。
  • 实现动画和特效:内置了淡入淡出、滑动、自定义动画等功能。
    简化 AJAX:极大地简化了与服务器进行异步通信(发送和接收数据而不刷新整个页面)的过程。
  • 跨浏览器兼容性:这是 jQuery 早期最重要的价值之一! 它封装了大量的代码来处理不同浏览器(尤其是旧版 IE)之间的 JavaScript 实现差异。开发者只需要使用 jQuery 的方法,jQuery 内部会确保这些方法在各种主流浏览器上都能正常工作,省去了开发者自己处理兼容性问题的麻烦。

jQuery 语法是通过选取 HTML 元素,并对选取的元素执行某些操作。
基础语法: $(selector).action()
美元符号定义 jQuery,选择符(selector)“查询"和"查找” HTML 元素,jQuery 的 action() 执行对元素的操作

jQuery 获取方式

jQuery 选择器允许您对 HTML 元素组或单个元素进行操作,jQuery 选择器基于元素的 id、类、类型、属性、属性值等"查找"(或选择)HTML 元素。 它基于已经存在的 CSS 选择器,除此之外,它还有一些自定义的选择器。

jQuery 中所有选择器都以美元符号开头:$(),以下是 jQuery 选择器的主要类型和使用方式。

基本选择器 (最常用)

  1. 元素选择器 ('tagName'):

    • 选择所有指定标签的元素。
    • 示例:$('p') - 选择页面中所有 <p> 元素,$('div') - 选择所有 <div> 元素。
  2. ID 选择器 ('#id'):

    • 选择具有指定 id 属性的单个元素(页面中 id 应是唯一的)。
    • 示例:$('#myHeader') - 选择 id="myHeader" 的元素。
  3. 类选择器 ('.className'):

    • 选择所有具有指定 class 属性的元素。
    • 示例:$('.important') - 选择所有 class="important" 的元素,$('p.highlight') - 选择所有 class="highlight"<p> 元素。
  4. 通配符选择器 ('*'):

    • 选择页面中的所有元素。
    • 示例:$('*') - 选择整个文档中的所有元素(谨慎使用,性能开销大)。
  5. 并集选择器 ('selector1, selector2, selectorN'):

    • 选择所有匹配任意一个选择器的元素(取并集)。
    • 示例:$('h1, h2, h3') - 选择所有 <h1>, <h2>, <h3> 元素,$('div.main, p.intro') - 选择所有 class="main"<div> 和所有 class="intro"<p> 元素。

层级选择器 (基于元素间关系)

  1. 后代选择器 ('ancestor descendant'):

    • 选择指定祖先元素内部的所有匹配后代元素(无论嵌套多深)。
    • 示例:$('div p') - 选择所有在 <div> 元素内部的 <p> 元素(包括嵌套在子元素里的)。
  2. 子元素选择器 ('parent > child'):

    • 选择指定父元素下的直接子元素(仅第一层)。
    • 示例:$('ul > li') - 选择所有作为 <ul> 直接子元素<li> 元素(不会选择嵌套在 <li> 里的 <ul><li>)。
  3. 相邻兄弟选择器 ('prev + next'):

    • 选择紧接在 prev 元素之后的下一个同辈 next 元素。
    • 示例:$('h1 + p') - 选择紧跟在 <h1> 后面的第一个 <p> 元素。
  4. 一般兄弟选择器 ('prev ~ siblings'):

    • 选择 prev 元素之后的所有同辈 siblings 元素(直到遇到下一个 prev)。
    • 示例:$('h2 ~ p') - 选择所有在 <h2> 元素后面且与它同级的 <p> 元素(只要在同一个父元素下,且在 h2 之后)。

过滤选择器 (基于特定条件)

  • 通常以 : 开头,附加在基本选择器后面,用于进一步筛选结果集。可以组合使用。
  1. 基本过滤:

    • :first - 选择匹配元素集合中的第一个元素。$('p:first')
    • :last - 选择匹配元素集合中的最后一个元素。$('p:last')
    • :even - 选择索引值为偶数的元素(索引从 0 开始)。$('tr:even')
    • :odd - 选择索引值为奇数的元素(索引从 0 开始)。$('tr:odd')
    • :eq(index) - 选择索引等于 index 的元素。$('li:eq(2)') (选择第三个 <li>)
    • :gt(index) - 选择索引大于 index 的元素。$('li:gt(2)')
    • :lt(index) - 选择索引小于 index 的元素。$('li:lt(2)')
    • :not(selector) - 选择不匹配给定选择器的元素。$('input:not(:checked)') (选择所有未选中的 input)
    • :header - 选择所有标题元素(h1-h6)。$(':header')
  2. 内容过滤:

    • :contains(text) - 选择包含指定文本的元素(文本匹配是大小写敏感的)。$('p:contains("Hello")')
    • :empty - 选择没有子元素(包括文本节点)的元素。$('td:empty')
    • :has(selector) - 选择至少包含一个匹配给定选择器的后代的元素。$('div:has(p)') (选择包含 <p><div>)
    • :parent - 选择至少拥有一个子元素(文本节点也算)的元素(与 :empty 相反)。$('td:parent')
  3. 可见性过滤:

    • :visible - 选择所有可见的元素(占据页面空间)。
    • :hidden - 选择所有隐藏的元素(display: none, type="hidden" 的 input, 宽高为 0 等)。
  4. 属性过滤 ([attribute], [attribute=value] 等):

    • [attr] - 选择拥有指定属性的元素。$('[href]') (选择所有带有 href 属性的元素)
    • [attr=value] - 选择属性值等于 value 的元素。$('[type="button"]')
    • [attr!=value] - 选择属性值不等于 value 的元素。
    • [attr^=value] - 选择属性值以 value 开头的元素。$('[href^="https"]')
    • [attr$=value] - 选择属性值以 value 结尾的元素。$('[src$=".png"]')
    • [attr*=value] - 选择属性值包含子字符串 value 的元素。$('[title*="flower"]')
    • [attr~=value] - 选择属性值包含由空格分隔的单词 value 的元素。
    • [attr|=value] - 选择属性值等于 value 或以 value 开头后跟连字符 - 的元素。
  5. 子元素过滤 (相对于父元素):

    • :first-child - 选择其父元素的第一个子元素。$('li:first-child')
    • :last-child - 选择其父元素的最后一个子元素。$('li:last-child')
    • :nth-child(index/even/odd/equation) - 选择其父元素下的第 n 个子元素。$('li:nth-child(2)'), $('tr:nth-child(even)'), $('li:nth-child(3n)')
    • :only-child - 选择是其父元素唯一子元素的元素。
  6. 表单过滤 (专门用于表单元素):

    • :input - 选择所有 input, textarea, select 和 button 元素。
    • :text - 选择所有 type=“text” 的 input 元素。
    • :password - 选择所有 type=“password” 的 input 元素。
    • :radio - 选择所有 type=“radio” 的 input 元素。
    • :checkbox - 选择所有 type=“checkbox” 的 input 元素。
    • :submit - 选择所有 type=“submit” 的 input 和 button 元素。
    • :reset - 选择所有 type=“reset” 的 input 和 button 元素。
    • :button - 选择所有 type=“button” 的 input 和 button 元素。
    • :image - 选择所有 type=“image” 的 input 元素。
    • :file - 选择所有 type=“file” 的 input 元素。
    • :enabled - 选择所有启用的表单元素。
    • :disabled - 选择所有禁用的表单元素。
    • :selected - 选择所有被选中的 option 元素(仅用于 <select> 内)。
    • :checked - 选择所有被选中的 checkbox 或 radio 元素。

jQuery事件绑定

页面对不同访问者的响应叫做事件,事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。

$(function(){ ... }) 是 jQuery 的文档就绪事件,用于确保代码在 DOM(文档对象模型)完全加载并解析后执行,

// 完整写法
$(document).ready(function() {// DOM 就绪后执行的代码
});// 简写
$(function() {// DOM 就绪后执行的代码console.log("jQuery: DOM 已就绪!");
});

.click() 方法是当按钮点击事件被触发时会调用一个函数
该函数在用户点击 HTML 元素时执行

在这里插入图片描述

.on() 括号内包括 (绑定事件的类型,事件触发函数)
其中绑定事件的类型为字符串类型,且可以绑定多个事件
注意 .on() 无法绑 “hover”(不是JS原生的是jQuery封装的),即.on()只能绑JS原生的属性

在这里插入图片描述

特殊:给未来元素绑定事件 .on()
括号内包含 (事件类型,未来元素,触发函数)
需要在HTML中找未来元素的父级元素或祖先元素
后来生成的元素,不能直接绑事件,只能通过已有的元素绑事件

在这里插入图片描述

jQuery 方法调用

jQuery遍历

parent() 方法返回被选元素的直接父元素,该方法只会向上一级对 DOM 树进行遍历。
children() 方法返回被选元素的所有直接子元素,该方法只会向下一级对 DOM 树进行遍历。
同胞拥有相同的父元素,siblings()、next()、nextAll()、prev()、prevAll() 等。

例:

在这里插入图片描述

打印效果:

在这里插入图片描述

jQuery 获取与设置

  1. 获得内容 - text()、html() 以及 val():
    text() 设置或返回所选元素的文本内容
    html() 设置或返回所选元素的内容(包括 HTML 标签)
    val() 设置或返回表单字段的值
  2. 获取属性 - attr():
    jQuery attr() 方法用于获取、设置/改变 属性值
    attr() 方法也允许您同时设置多个属性。

获取:

$("#btn1").click(function(){alert("Text: " + $("#test").text());
});
$("#btn2").click(function(){alert("HTML: " + $("#test").html());
});
$("#btn1").click(function(){alert("值为: " + $("#test").val());
});
$("button").click(function(){alert($("#runoob").attr("href"));
});

设置:

$("#btn1").click(function(){$("#test1").text("Hello world!");
});
$("#btn2").click(function(){$("#test2").html("<b>Hello world!</b>");
});
$("#btn3").click(function(){$("#test3").val("RUNOOB");
});
$("button").click(function(){$("#runoob").attr("href","http://www.runoob.com/jquery");
});

jQuery 添加与删除

  1. 添加新的 HTML 内容:
    append() 在被选元素的结尾插入内容
    prepend() 在被选元素的开头插入内容
    after() 在被选元素之后插入内容
    before() 在被选元素之前插入内容

  2. 删除元素和内容:
    remove() 移除所选元素本身及其所有子元素(整个元素从 DOM 中删除)
    empty() 只清空内部内容,元素本身仍保留在 DOM 中

jQuery CSS 类

jQuery css() 方法:css() 方法设置或返回被选元素的一个或多个样式属性。

在这里插入图片描述

在这里插入图片描述

jQuery - AJAX

AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML)。
简短地说,在不重载整个网页的情况下,AJAX 通过后台加载数据,并在网页上进行显示。
通过 jQuery AJAX 方法,能够使用 HTTP Get 和 HTTP Post 从远程服务器上请求文本、HTML、XML 或 JSON - 同时您能够把这些外部数据直接载入网页的被选元素中。

$.ajax() 执行异步 AJAX 请求
$.get() 使用 AJAX 的 HTTP GET 请求从服务器加载数据
$.post() 使用 AJAX 的 HTTP POST 请求从服务器加载数据

总结

(在 JavaScript 上下文中,“JDOM” 通常是开发者对 jQuery + DOM 操作的口头简称)

在这里插入图片描述

dom 与 jdom 的转换:

  • dom ——> jdom 使用 $(dom)
  • jdom ——> dom 使用 jdom[0] []内数字按需设置

另外,jQuery 还有很多方法,此处无法一一展示,推荐一个链接可以在此深入学习 jQuery,链接: jQuery

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

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

相关文章

时钟周期是什么?

时钟周期&#xff08;Clock Cycle&#xff09;是什么&#xff1f; 时钟周期&#xff08;Clock Cycle&#xff09;是计算机系统中一个最基础的时间单位&#xff0c;也称为时钟节拍或时钟周期时间&#xff08;Clock Period&#xff09;。它由系统时钟发生器产生的一个周期性脉冲…

如何用SEO优化长尾关键词?

内容概要 在SEO优化领域&#xff0c;长尾关键词扮演着至关重要的角色&#xff0c;它们能有效提升网站在搜索引擎中的可见度和流量转化率。本文将全面解析如何通过系统方法优化长尾关键词&#xff0c;涵盖从基础理论到实战应用的完整流程。核心内容包括利用专业工具进行关键词挖…

电子面单系统开发全解析

一、如果要做电子面单系统&#xff0c;怎么做&#xff1f; 开发电子面单系统是一项复杂且涉及多方面考量的工程&#xff0c;涵盖需求分析、系统架构设计、技术选型、接口对接、安全性保障、第三方服务选择以及部署与维护等关键环节。 电子面单系统开发步骤 需求分析&#xf…

UE5 - 制作《塞尔达传说》中林克的技能 - 18 - 磁力抓取器

让我们继续《塞尔达传说》中林克技能的制作!!! UE版本:5.6.0 VS版本:2022 本章节的核心目标:磁力抓取器 先让我们看一下完成后的效果: 18_磁力抓取器 大纲如下: 引言功能架构与核心逻辑物理材质与场景配置代码实现:从识别到操控操作说明1.引言 在《塞尔达传说》中,林…

基于ApachePOI实现百度POI分类快速导入PostgreSQL数据库实战

目录 前言 一、百度POI分类简介 1、数据表格 2、分类结构 二、从Excel导入到PG数据库 1、Excel解析流程 2、数据入库 3、入库成果及检索 三、总结 前言 在上一篇博文中&#xff0c;我们对高德POI分类进行了深入剖析 并对Excel 中 POI 分类数据的存储结构特点进行了详细介…

学习经验分享【41】YOLOv13:基于超图增强自适应视觉感知的实时目标检测

YOLO算法更新速度很快&#xff0c;已经出到V13版本&#xff0c;后续大家有想发论文或者搞项目可更新自己的baseline了。 摘要&#xff1a;YOLO 系列模型凭借其卓越的精度和计算效率&#xff0c;在实时目标检测领域占据主导地位。然而&#xff0c;YOLOv11 及早期版本的卷积架构&…

Handling outliers in non-blind image deconvolution论文阅读

Handling outliers in non-blind image deconvolution 1. 研究目标与实际意义2. 创新方法:基于EM的异常值建模2.1 新模糊模型2.1.1 目标函数2.2 EM框架:迭代优化二元掩码2.2.1 E步:计算后验权重 E [ m x ] E[m_x] E[mx​]2.2.2 M步:加权正则化反卷积2.3 优化加速技术2.3.1…

Redis 功能扩展:Lua 脚本对 Redis 的扩展

Redis 是一个高性能的内存数据库&#xff0c;支持多种数据结构&#xff0c;如字符串、哈希、列表、集合和有序集合。为了增强其功能&#xff0c;Redis 引入了 Lua 脚本支持&#xff0c;使开发者可以编写自定义的脚本&#xff0c;确保操作的原子性并提高复杂操作的性能。本文将详…

七天学完十大机器学习经典算法-06.支持向量机(SVM):分类边界的艺术——深入浅出指南

接上一篇《七天学完十大机器学习经典算法-05.从投票到分类&#xff1a;K近邻(KNN)算法完全指南》 想象你要在操场上为两个班级划活动区域&#xff0c;如何画出一条最公平的分界线&#xff1f;这条线不仅要分开两班学生&#xff0c;还要让两个班都离分界线尽可能远——这就是支持…

python如何安装PyQt6-stubs依赖包

PyQt6-stubs 是为 PyQt6 提供类型提示&#xff08;Type Hints&#xff09;和 IDE 智能补全支持的第三方补丁包&#xff0c;特别适用于 PyCharm、VS Code 等现代 IDE。它对开发者在编码时帮助极大。 一、安装方法 需要提前安装好git&#xff0c;然后克隆PyQt6-stubs源码&#xf…

创宇智脑 MCP 赋能 AiPy,IP 风险调查效率实现 10 倍飞跃,威胁分析一键生成

还记得上个月那个焦头烂额的凌晨三点吗&#xff1f;监控大屏突然疯狂闪烁&#xff0c;500 多个 IP 地址同时出现异常访问&#xff0c;密密麻麻的数据流在屏幕上跳动&#xff0c;像极了一张让人窒息的大网。我和团队成员瞪着布满血丝的眼睛&#xff0c;手动排查每一个 IP&#x…

使用SRS+ffmpeg实现https推流flv

1修改SRS的live.conf配置如下&#xff1a; # Live streaming config for SRS. # see full.conf for detail config.listen 1935; max_connections 1000; srs_log_tank console; daemon off;http_api {enabled on;listen …

力扣网编程题:合并两个有序数组(双指针解法)

一. 简介 上一篇文章对"合并两个有序数组"题目&#xff0c;使用了暴力解法&#xff0c;算法时间复杂度比较高。文章如下&#xff1a; 力扣网编程题&#xff1a;合并两个有序数组&#xff08;直接解法&#xff09;-CSDN博客 本文满足进阶要求&#xff0c;算法时间复…

数据结构之 【树的简介】(树的(相关)概念、二叉树的概念、部分性质、满二叉树、完全二叉树)

目录 1.树的概念及结构 1.1树的概念 1.2树的相关概念 1.3树的表示 1.4树在实际中的应用 2.二叉树概念及结构 2.1二叉树的概念 2.2特殊的二叉树 2.3二叉树的性质 2.4应用题 1.树的概念及结构 1.1树的概念 树是一种非线性的数据结构&#xff0c;由 n&#xff08;n…

Redis-7.4.3-Windows-x64下载安装使用

Redis软件包下载地址链接&#xff1a;https://github.com/redis-windows/redis-windows/releases 检查或者修改配置文件redis.conf&#xff1a; #如果允许外部其他主机访问本机redis&#xff0c;设置成&#xff1a;bind 0.0.0.0 bind 127.0.0.1 protected-mode yes #设置端口…

Educational Codeforces Round 180 (Rated for Div. 2)

AB 略 C 对于axayaz>max(2*az,an)&#xff0c;枚举y z 二分x D 首先&#xff0c;长度为1的边的已经有n-1条&#xff0c;那么构造的图中只能存在一条长度为2的好边。我们先构造出一个图只存在n-1条好边&#xff0c;我们发现对于一个点所有连接它的边要不均指向它要不均背…

CAD文件处理控件Aspose.CAD教程:在 Python 中将 DGN 文件转换为 PDF

概述 将DGN文件转换为PDF对许多行业至关重要&#xff0c;包括工程和建筑行业。能够轻松地以 PDF 格式共享设计&#xff0c;增强协作和可访问性。通过使用Aspose.CAD for Python via .NET的强大功能&#xff0c;开发人员可以高效地自动化此过程。这款 CAD 转换器 SDK 简化了转换…

宁德时代携手问界,以“厂中厂”模式加速扩产

6月30日&#xff0c;宁德时代在赛力斯超级工厂的两条CTP2.0高端电池包产线正式投产。这是宁德时代在重庆布局的首个基地&#xff0c;并首次采用“厂中厂”合作模式&#xff0c;为问界系列车型本地化生产供应动力电池系统。重庆市、四川省广安市有关负责人&#xff0c;赛力斯集团…

工作中常用的Git操作命令(一)

说明 时间过得真快&#xff0c;一转眼吗喽也是好歹工作几年了&#xff0c;把这些年平时用的git命令整理记录一下&#xff0c;分几个文章&#xff0c;囊括了常用的命令&#xff0c;工作日常很多时候都是使用svn&#xff0c;回到宿舍自己的项目才是git&#xff0c;就问你离不离谱…

2.2.5 Windows系统日志管理

文章目录 一、试题及考试说明二、操作步骤1. 在计算机策略中&#xff0c;启用安装程序的日志记录&#xff0c;并且配置日志大小最大10M&#xff0c;日志存储位置为D:\kaoshi_3\2.2.5\&#xff1b;2. 查询安全日志中登录失败的日志信息&#xff0c;并导出保存在D:\kaoshi_3\2.2.…