一、jQuery 基础
-
核心概念
-
$
或jQuery
:全局函数,用于选择元素或创建DOM对象。 -
链式调用:多数方法返回jQuery对象,支持连续操作。
-
文档就绪事件:
$(document).ready(function() { /* 代码 */ }); // 简写 $(function() { /* 代码 */ });
-
-
选择器
-
基础选择器:
-
$("#id")
、$(".class")
、$("tag")
、$("*")
(通配符)。
-
-
层级选择器:
-
$("parent > child")
(子元素)、$("ancestor descendant")
(后代)。
-
-
过滤选择器:
-
:first
、:last
、:even
、:odd
、:eq(index)
、:not(selector)
。
-
-
属性选择器:
-
$("[attr]")
、$("[attr='value']")
。
-
-
-
DOM 遍历
-
向上查找:
parent()
、parents()
、closest(selector)
。 -
同级查找:
siblings()
、next()
、prev()
、nextAll()
。 -
向下查找:
children()
、find(selector)
。
-
二、DOM 操作
-
内容操作
-
获取/设置文本:
text()
、text("new text")
。 -
获取/设置HTML:
html()
、html("<b>new html</b>")
。 -
表单值:
val()
、val("new value")
。
-
-
属性与CSS
-
属性操作:
-
attr("name")
、attr("name", "value")
。 -
removeAttr("name")
。
-
-
CSS操作:
-
css("property")
、css("property", "value")
。 -
添加/移除类:
addClass()
、removeClass()
、toggleClass()
。
-
-
-
节点操作
-
创建元素:
$("<div>New Element</div>")
。 -
插入元素:
-
append()
、prepend()
(内部插入)。 -
after()
、before()
(外部插入)。
-
-
删除元素:
remove()
、empty()
。
-
三、事件处理
-
事件绑定
-
简写方法:
click()
、hover()
、submit()
。 -
通用方法:
on("event", handler)
(推荐统一使用)。$("#btn").on("click", function() { alert("Clicked!"); });
-
事件解绑:
off("event")
。
-
-
事件委托
-
动态元素事件绑定:
$("#parent").on("click", ".child", function() { /* 逻辑 */ });
-
-
常用事件
-
鼠标事件:
click
、dblclick
、mouseenter
、mouseleave
。 -
键盘事件:
keypress
、keyup
、keydown
。 -
表单事件:
submit
、change
、focus
、blur
。
-
四、动画与效果
-
基础动画
-
显示/隐藏:
show()
、hide()
、toggle()
。 -
淡入淡出:
fadeIn()
、fadeOut()
、fadeToggle()
。 -
滑动效果:
slideDown()
、slideUp()
、slideToggle()
。
-
-
自定义动画
-
animate()
方法:$("#box").animate({ opacity: 0.5, left: "+=50px" }, 1000);
-
停止动画:
stop()
、delay()
。
-
五、AJAX 与工具方法
-
AJAX 请求
-
$.ajax()
(底层方法):$.ajax({ url: "api/data", method: "GET", success: function(data) { console.log(data); } });
-
简写方法:
-
$.get(url, callback)
、$.post(url, data, callback)
。 -
$.getJSON(url, callback)
。
-
-
-
工具函数
-
数组/对象操作:
-
$.each(array, function(index, value) {})
。 -
$.extend()
(合并对象)。
-
-
类型判断:
-
$.isArray()
、$.isFunction()
。
-
-
六、插件与扩展
-
使用插件
-
引入jQuery插件(如
jQuery UI
、DataTables
):<script src="jquery.plugin.js"></script>
-
-
编写插件
-
扩展jQuery方法:
(function($) { $.fn.myPlugin = function(options) { // 插件逻辑 }; })(jQuery);
-
七、性能优化
-
选择器优化
-
缓存jQuery对象:
var $el = $("#element");
。 -
避免过度嵌套选择器(如
$("div ul li a")
)。
-
-
事件优化
-
使用事件委托代替重复绑定。
-
移除无用事件监听(
off()
)。
-
-
链式调用
-
减少DOM查询次数:
$("#box").css("color", "red").slideDown().fadeIn();
-
八、兼容性与现代替代
-
jQuery 与原生JS
-
对比示例:
-
$("#id")
→document.getElementById("id")
。 -
$.ajax
→fetch
API。
-
-
-
现代替代方案
-
原生JS +
querySelector
。 -
前端框架(React/Vue)的组件化开发。
-
学习建议
-
快速上手:从DOM操作和事件处理开始实践。
-
官方文档:jQuery API。
-
逐步过渡:理解jQuery原理后,转向现代JS或框架。
jQuery的核心优势是简化DOM操作和跨浏览器兼容性,适合快速开发传统Web应用,但在现代开发中可结合需求选择是否使用。