当前位置: 首页 > news >正文

jQuery 最新语法大全详解(2025版)

引言

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.lryc.cn/news/602983.html

相关文章:

  • python对象的__dict__属性详解
  • 防水医用无人机市场报告:现状、趋势与洞察
  • Java 笔记 serialVersionUID
  • 分布式IO详解:2025年分布式无线远程IO采集控制方案选型指南
  • 生物信息学数据技能-学习系列001
  • 秒级构建消息驱动架构:描述事件流程,生成 Spring Cloud Stream+RabbitMQ 代码
  • Java 大视界 -- Java 大数据在智能安防入侵检测系统中的多源数据融合与误报率降低策略(369)
  • 分布式高可用架构核心:复制、冗余与生死陷阱——从主从灾难到无主冲突的避坑指南
  • redis getshell的三种方法
  • 从释永信事件看“积善“与“积恶“的人生辩证法
  • CMake、CMakeLists.txt 基础语法
  • CTF-Web学习笔记:信息泄露篇
  • docker 入门,运行上传自己的首个镜像
  • 降低焊接机器人保护气体消耗的措施
  • Docker 部署 Supabase并连接
  • 记录自己第n次面试(n>3)
  • DAY-13 数组与指针
  • [ The Missing Semester of Your CS Education ] 学习笔记 Vim篇
  • 前端实现银河粒子流动特效的技术原理与实践
  • Linux 软件包管理详解:从命令到实战
  • 计算机网络编程-Socket通信以及实战
  • STM32 USB HOST 驱动FT232 USB转串
  • 安装anaconda后,如何进入python解释器
  • SSH 远程控制及相关工具
  • 常见的JVM虚拟机的参数详解
  • “量子通信”
  • 【C语言网络编程基础】TCP并发网络编程:io多路复用
  • 五自由度磁悬浮轴承转子:基于自适应陷波器的零振动攻克不平衡质量扰动的终极策略
  • linux du、df命令使用教程
  • 面向对象设计原则和设计模式分类