当前位置: 首页 > 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.xdnf.cn/news/1206667.html

相关文章:

  • Uniswap V2 成功上线 PolkaVM:Polkadot Hub 的里程碑时刻
  • 结合项目阐述 设计模式:单例、工厂、观察者、代理
  • OSPF笔记
  • 图片上传 el+node后端+数据库
  • 4.应用层自定义协议与序列化
  • 生物信息学数据技能-学习系列001
  • 深入Go并发编程:Channel、Goroutine与Select的协同艺术
  • Deepseek + browser-use 轻松实现浏览器自动化
  • MCP error -32000: Connection closed
  • c++: 尾置返回类型(Trailing Return Type)
  • GaussDB 查看会话连接数
  • Android通知(Notification)全面解析:从基础到高级应用
  • React Immer 不可变数据结构的处理
  • 05 OpenCV--图像预处理之图像轮廓、直方图均衡化、模板匹配、霍夫变化、图像亮度变化、形态学变化
  • 暴雨服务器更懂人工智能+
  • JVM 笔记:类加载、内存管理、垃圾收集与垃圾收集器
  • 婚纱摄影管理系统(发送邮箱、腾讯地图API、物流API、webSocket实时聊天、协同过滤算法、Echarts图形化分析)
  • cacti的RCE
  • Mysql表的增删改查(进阶)
  • 解析分区、挂载与块设备:Linux 存储管理核心命令详解
  • 二级域名分发源码最新开源版
  • 基于Flask的智能停车场管理系统开发实践
  • 【Linux】重生之从零开始学习运维之mysql用户管理
  • 天学网面试 —— 中级前端开发岗位
  • 网易易盾、腾讯ACE等主流10款游戏反外挂系统对比
  • DDD之整体设计流程(2)
  • Pandas 里的分箱操作
  • Mybatis_4
  • Effective C++ 条款07:为多态基类声明virtual析构函数
  • 【esp32s3】7 - VSCode + PlatformIO + Arduino + 构建项目