引言

jQuery 作为轻量级 JavaScript 库,核心价值在于 简化 DOM 操作、跨浏览器兼容性和高效开发。尽管现代框架崛起,jQuery 仍在遗留系统维护、快速原型开发中广泛应用。本文涵盖 jQuery 3.6+ 核心语法,重点解析高效用法与最佳实践。


一、jQuery 基础语法

1. 选择器语法
// 基础选择器  
$("#header")                // ID 选择器  
$(".btn-primary")           // Class 选择器  
$("div")                    // 标签选择器  // 层级选择器  
$("ul > li")                // 直接子元素  
$("section p")              // 后代元素  // 属性选择器  
$("input[type='text']")     // 精确匹配属性  
$("a[href^='https']")       // 以 https 开头  // 伪类选择器  
$("tr:even")                // 偶数行  
$("li:first-child")         // 第一个子元素  
$("div:hidden")             // 隐藏元素  

最佳实践:优先使用 data-* 属性选择器(如 $("[data-toggle='modal']"))增强可维护性。


二、DOM 操作语法

1. 内容操作
// 读写内容  
$("#box").html("<b>新内容</b>");  // 设置 HTML  
$("#box").text();                // 获取纯文本  
$("input").val("2025");         // 设置表单值  // 元素增删改  
$("#list").append("<li>Item</li>"); // 末尾添加  
$("#header").prepend("↑");        // 开头添加  
$(".old").remove();               // 删除元素  
2. 属性与样式
// 属性操作  
$("#logo").attr("src", "new.png");  // 修改属性  
$("#checkbox").prop("checked", true); // 布尔属性  // 类操作  
$("#menu").addClass("active");  
$("#menu").toggleClass("expanded"); // 切换类  // 样式操作  
$("#box").css("color", "red");  
$("#box").css({                   // 批量设置  "background": "#333",  "padding": "10px"  
});  

三、事件处理语法

1. 事件绑定与委托
// 标准绑定  
$("#btn").on("click", function() {  alert("Clicked!");  
});  // 事件委托(动态元素适用)  
$("#table").on("click", ".delete-btn", function() {  $(this).closest("tr").remove();  
});  // 快捷方法  
$("#form").submit(function(e) {  e.preventDefault(); // 阻止默认提交  
});  
2. 事件解绑
$("#btn").off("click");  // 移除所有 click 事件  
$("#table").off("click", ".delete-btn"); // 移除委托事件  

四、动画与效果

1. 基础动画
$("#box").hide(400);           // 400ms 隐藏  
$("#box").show("slow");        // 慢速显示  
$("#box").toggle(200);         // 切换显示状态  
2. 高级动画
// 滑动效果  
$("#panel").slideUp();  
$("#panel").slideToggle();  // 淡入淡出  
$("#img").fadeIn(1000);  
$("#img").fadeTo(500, 0.5);   // 渐变到半透明  // 自定义动画  
$("#ball").animate({  left: "+=200px",  opacity: 0.5  
}, 1000);  

五、AJAX 请求语法

// $.ajax() 基础用法  
$.ajax({  url: "/api/data",  type: "GET",  dataType: "json",  success: function(data) {  console.log("成功:", data);  },  error: function(xhr) {  console.error("失败:", xhr.status);  }  
});  // 快捷方法  
$.get("/api/user", { id: 101 }, function(user) {  console.log(user.name);  
});  $.post("/api/save", JSON.stringify(data), function(res) {  alert("保存成功!");  
});  

⚠️ 注意:jQuery 3.0+ 默认返回 Promise,可使用 .done().fail() 替代 success/error 回调。


六、链式调用优化

// 典型链式调用  
$("#list")  .find("li")  .addClass("item")  .css("color", "blue")  .end()          // 回退到 #list  .append("<li>End</li>");  // 链式中断技巧  
const $items = $("#list li");  
$items.eq(0).hide();  // 中断链式但不破坏选择集  

七、插件开发规范

1. 基础插件结构
(function($) {  $.fn.highlight = function(options) {  // 合并默认参数  const settings = $.extend({  color: "#ff0",  backgroundColor: "#000"  }, options);  // 主逻辑  return this.css({  color: settings.color,  backgroundColor: settings.backgroundColor  });  };  
})(jQuery);  // 调用  
$("p").highlight({ color: "red" });  

八、jQuery vs 现代框架

维度jQueryReact/Vue
DOM 操作直接操作 DOM虚拟 DOM 差分更新
数据绑定手动同步数据与视图响应式数据绑定
组件化依赖插件体系原生组件支持
适用场景传统多页应用、渐进增强复杂单页应用(SPA)

🔮 趋势建议:新项目优先选用 Vue/React,旧项目维护可结合 jQuery 与现代工具(如 Webpack 打包)。


附录:实用资源

  1. 官方文档:jQuery API
  2. 代码片段
// 防抖搜索  
$("#search").on("input", $.debounce(300, function() {  fetchResults($(this).val());  
}));  // 检测元素可见性  
if ($("#banner").is(":visible")) {  startAnimation();  
}  
  1. 推荐插件
    • 动画增强:jQuery Easing
    • 表单验证:jQuery Validation
    • 懒加载:jQuery Lazy

结语:jQuery 的 简洁语法强大选择器 仍是快速开发利器。掌握核心语法,结合现代工具链(如 ES6 + Webpack),可高效维护传统项目。在可预见的未来,jQuery 仍将在 Web 生态中扮演重要角色。

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

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

相关文章

Android 15 修改截图默认音量大小

概述 在 Android 15 中,截图音效的默认音量可能过大,影响用户体验。本文将介绍如何通过修改系统源码来调整截图音效的默认音量大小。 修改位置 需要修改的文件路径: frameworks/base/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotSoundProvider.kt…

Python爬虫实战:快速采集教育政策数据(附官网工具库API)

解锁教育政策研究的数据金矿&#xff0c;用技术提升学术效率 在教育政策研究领域&#xff0c;获取最新、最全面的政策文本是学术工作的基础。传统手动收集方式效率低下且容易遗漏关键政策&#xff0c;而Python爬虫技术为教育研究者提供了高效的数据采集解决方案。本文将系统介…

验证回文串-leetcode

如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后&#xff0c;短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。 字母和数字都属于字母数字字符。 给你一个字符串 s&#xff0c;如果它是 回文串 &#xff0c;返回 true &#xff1b;否则&#xf…

嵌入式学习日志(十)

10 学习指针1 指针核心定义与本质1.1 指针与指针变量1、指针即地址&#xff0c;指针变量是存放地址的变量&#xff0c;其大小与操作系统位数相关&#xff1a;64 位系统中占 8 字节&#xff0c;32 位系统中占 4 字节。2、指针的核心功能是通过地址间接访问目标变量&#xff0…

Anaconda创建环境报错:CondaHTTPEFTOT: HTTP 403 FORBIDDEN for url

一、快速解决方案这类报错的原因通常是由于 conda 无法访问镜像源或权限被服务器拒绝&#xff0c;以下是常见原因和对应的解决方案&#xff1a;检查镜像源拼写是否正确conda config --show channels清华源镜像示例如果不正确&#xff0c;先清除旧配置del %USERPROFILE%\.condar…

亚马逊地址关联暴雷:新算法下的账号安全保卫战

2025年Q3&#xff0c;上千个店铺因共享税代地址、海外仓信息重叠等问题被批量冻结&#xff0c;为行业敲响了“精细化合规”的警钟。事件复盘&#xff1a;地址成为关联风控的“致命开关”税代机构违规引发“多米诺效应”事件的导火索指向税代机构“saqibil”&#xff0c;其为降低…

在本地环境中运行 ‘dom-distiller‘ GitHub 库的完整指南

在本地环境中运行 ‘dom-distiller’ GitHub 库的完整指南 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff0c;觉得好请收藏。点击跳转到网站。 1. 项目概述 ‘dom-distiller’ 是一个用于将网页…

11. isaacsim4.2教程-Transform 树与Odometry

1. 前言学习目标在本示例中&#xff0c;你将学习如何&#xff1a;使用 TF 发布器将相机作为 TF 树的一部分发布在 TF 上发布机械臂&#xff0f;可动结构&#xff08;articulation&#xff09;的树状结构发布里程计&#xff08;Odometry&#xff09;消息开始之前前置条件已完成 …

安宝特新闻丨安宝特与Logivations正式建立合作伙伴关系,共筑物流新未来

近日&#xff0c;安宝特与物流创新企业Logivations签署合作协议&#xff0c;双方将深度融合技术专长&#xff0c;共同为客户提供高效、精准的智能物流解决方案&#xff0c;助力企业实现从人工巡检到智能管控的跨越式升级。 关于Logivations Logivations是一家深耕物流与供应链…

第三阶段—8天Python从入门到精通【itheima】-139节(pysqark实战-前言介绍)

目录 139节——pysqark实战-前言介绍 1.学习目标 2.spark是什么 3.如下是详细介绍 PySpark 的两种使用方式&#xff0c;并提供具体的代码示例【大数据应用开发比赛的代码熟悉如潮水一般冲刷我的记忆】&#xff1a; 一、本地模式&#xff08;作为 Python 第三方库使用&#…

redis数据库的四种取得 shell方法

Redis作为高性能内存数据库&#xff0c;若配置不当&#xff08;特别是未授权访问&#xff09;&#xff0c;将面临极高安全风险。攻击者可利用漏洞实现远程代码执行&#xff08;GetShell&#xff09;&#xff0c;严重威胁数据安全与服务器控制权。本文深入剖析此类漏洞的核心原理…

墨者:SQL过滤字符后手工绕过漏洞测试(万能口令)

1. 墨者学院&#xff1a;SQL过滤字符后手工绕过漏洞测试(万能口令)&#x1f680; 2. 漏洞背景分析&#x1f50d; 近期发现某登录系统存在SQL注入漏洞&#xff0c;攻击者可通过构造特殊用户名admin,a,a)#绕过身份验证。本文将深入解析其工作原理&#xff0c;并演示完整渗透测试流…

Kafka 顺序消费实现与优化策略

在 Apache Kafka 中&#xff0c;实现顺序消费需要从 Kafka 的架构和特性入手&#xff0c;因为 Kafka 本身是分布式的消息系统&#xff0c;默认情况下并不完全保证全局消息的顺序消费&#xff0c;但可以通过特定配置和设计来实现局部或完全的顺序消费。以下是实现 Kafka 顺序消费…

CSP-J 2022_第三题逻辑表达式

题目 逻辑表达式是计算机科学中的重要概念和工具&#xff0c;包含逻辑值、逻辑运算、逻辑运算优先级等内容。 在一个逻辑表达式中&#xff0c;元素的值只有两种可能&#xff1a;0&#xff08;表示假&#xff09;和 1&#xff08;表示真&#xff09;。元素之间有多种可能的逻辑运…

从释永信事件看“积善“与“积恶“的人生辩证法

博客目录起心动念皆是因&#xff0c;当下所受皆是果。"起心动念皆是因&#xff0c;当下所受皆是果。"这句古老的智慧箴言&#xff0c;在少林寺方丈释永信涉嫌违法被调查的事件中得到了令人唏嘘的印证。一位本应六根清净、持戒修行的佛门领袖&#xff0c;却深陷贪腐丑…

图片格式转换

文章目录 背景目标实现下载 背景 格式碎片化问题 行业标准差异&#xff1a;不同领域常用格式各异&#xff08;如设计界用PSD/TIFF&#xff0c;网页用JPG/PNG/WEBP&#xff0c;系统图标用ICO/ICNS&#xff09;。 设备兼容性&#xff1a;老旧设备可能不支持WEBP&#xff0c;专业…

Flutter实现Android原生相机拍照

方法1&#xff1a;使用Flutter的camera插件&#xff08;完整实现&#xff09; 1. 完整依赖与权限配置 # pubspec.yaml dependencies:flutter:sdk: fluttercamera: ^0.10.52path_provider: ^2.0.15 # 用于获取存储路径path: ^1.8.3 # 用于路径操作permission_handler:…

记录几个SystemVerilog的语法——随机

1. 随机稳定性(random stability)随机稳定性是指每个线程(thread)或对象(object)的random number generator(RNG)是私有的&#xff0c;一个线程返回的随机值序列与其他线程或对象的RNG是无关的。随机稳定性适用于以下情况&#xff1a;系统随机方法调用&#xff1a;$urandom()和…

初识 docker [下] 项目部署

项目部署Dockerfile构建镜像DockerCompose基本语法基础命令项目部署 前面我们一直在使用别人准备好的镜像&#xff0c;那如果我要部署一个Java项目&#xff0c;把它打包为一个镜像该怎么做呢&#xff1f; …省略一万字 站在巨人的肩膀上更适合我们普通人,所以直接介绍两种简单…

Android15广播ANR的源码流程分析

Android15的广播ANR源码流程跟了下实际代码的流程&#xff0c;大概如下哈&#xff1a;App.sendBroadcast() // 应用发起广播→ AMS.broadcastIntentWithFeature() // 通过Binder IPC进入system_server进程→ AMS.broadcastIntentLocked() // 权限校验广播分类&#xff08;前…