📅  最后修改于: 2023-12-03 15:16:46.931000             🧑  作者: Mango
jQuery 是一个非常流行的 JavaScript 库,它将 HTML 文档的遍历和操作、事件处理、动画效果、AJAX以及数据传输和文件操作等操作简化成易于使用的方法。本文旨在为初学者提供一个完整的 jQuery 和 AJAX 参考手册,帮助其快速入门和实现网站前端的各种需求。
jQuery 选择器用于选取 HTML 元素,语法类似 CSS 选择器,常用的选择器包括:
基本选择器
| 选择器 | 描述 |
| --- | --- |
| *
| 选取所有元素 |
| #id
| 选取拥有指定 id 属性的元素 |
| .class
| 选取拥有指定 class 属性的元素 |
| element
| 选取指定元素名称的元素,如 div
、p
等 |
| selector1, selectorN
| 选择器组合 |
层次选择器
| 选择器 | 描述 |
| --- | --- |
| ancestor descendant
| 选取 ancestor 元素内的所有 descendant 子孙元素 |
| parent > child
| 选取 parent 元素下的所有直接子元素 child |
| prev + next
| 选取同级元素 prev 的下一个元素 next |
| prev ~ siblings
| 选取同级元素 prev 之后的所有元素 siblings |
过滤器选择器
| 选择器 | 描述 |
| --- | --- |
| :first
| 选取第一个匹配元素 |
| :last
| 选取最后一个匹配元素 |
| :even
| 选取所有偶数位置的元素 |
| :odd
| 选取所有奇数位置的元素 |
| :eq( n )
| 选取索引位置为 n 的元素 |
| :not( selector )
| 选取不匹配 selector 的所有元素 |
| :contains( text )
| 选取包含指定文本的元素 |
| :has( selector )
| 选取拥有符合 selector 的子元素的元素 |
属性选择器
| 选择器 | 描述 |
| --- | --- |
| [attribute]
| 选取带有指定 attribute 属性的元素 |
| [attribute=value]
| 选取 attribute 属性等于 value 的元素 |
| [attribute!=value]
| 选取 attribute 属性不等于 value 的元素 |
| [attribute$=value]
| 选取 attribute 属性以 value 结尾的元素 |
| [attribute^=value]
| 选取 attribute 属性以 value 开头的元素 |
| [attribute*=value]
| 选取 attribute 属性包含 value 的元素 |
jQuery 提供了一系列用于操作 HTML DOM 的方法,例如修改元素内容、添加/移除元素等,常用方法包括:
元素操作
| 方法 | 描述 |
| --- | --- |
| text()
| 设置或返回选中元素的文本内容 |
| html()
| 设置或返回选中元素的 HTML 文本内容 |
| val()
| 获取或设置选中表单元素的值 |
| attr()
| 获取或设置选中元素的属性值 |
| removeAttr()
| 删除选中元素的指定属性 |
| addClass()
| 为选中元素添加指定 class |
| removeClass()
| 从选中元素中删除指定 class |
| toggleClass()
| 切换选中元素的 class,有则去除,没有则添加 |
元素插入
| 方法 | 描述 |
| --- | --- |
| append()
| 将指定元素插入到选中元素末尾 |
| appendTo()
| 将选中元素插入到指定元素末尾 |
| prepend()
| 将指定元素插入到选中元素开头 |
| prependTo()
| 将选中元素插入到指定元素开头 |
| clone()
| 复制选中元素 |
元素移除
| 方法 | 描述 |
| --- | --- |
| remove()
| 从 DOM 中删除选中元素 |
| empty()
| 删除选中元素的所有子元素 |
事件是指用户或浏览器执行的某些动作,例如点击、鼠标移动、键盘按下等。jQuery 提供了一套完整的事件处理方法,包括:
事件绑定
| 方法 | 描述 |
| --- | --- |
| click()
| 绑定元素的点击事件 |
| dblclick()
| 绑定元素的双击事件 |
| mousedown()
| 绑定元素的鼠标按下事件 |
| mouseup()
| 绑定元素的鼠标松开事件 |
| mouseenter()
| 绑定元素的鼠标进入事件 |
| mouseleave()
| 绑定元素的鼠标移出事件 |
| mousemove()
| 绑定元素的鼠标移动事件 |
| keydown()
| 绑定元素的键盘按下事件 |
| keyup()
| 绑定元素的键盘松开事件 |
| submit()
| 绑定表单的提交事件 |
| resize()
| 绑定窗口大小改变事件 |
| scroll()
| 绑定元素的滚动事件 |
事件解绑
| 方法 | 描述 |
| --- | --- |
| off()
| 解绑绑定的事件 |
事件触发
| 方法 | 描述 |
| --- | --- |
| trigger()
| 触发当前元素上绑定的指定事件 |
AJAX 是一种在 Web 应用程序中传输数据的技术,它可以在不刷新页面的情况下进行数据交互。jQuery 提供了一套完整的 AJAX 方法,包括:
AJAX 基本操作
| 方法 | 描述 |
| --- | --- |
| $.ajax({})
| 发起 AJAX 请求 |
| success(data,status,xhr){}
| 请求成功后的回调函数 |
| error(xhr,status,error){}
| 请求失败后的回调函数 |
| dataType
| 返回数据类型 |
AJAX 快捷方法
| 方法 | 描述 |
| --- | --- |
| $.get(url,data,success(data,status,xhr),dataType)
| 发起 GET 请求 |
| $.post(url,data,success(data,status,xhr),dataType)
| 发起 POST 请求 |
| $.getJSON(url,data,success(data,status,xhr))
| 发起 JSON 请求 |
$('p').text('这是一段新的文本内容');
<form id="myForm">
<input type="text" name="name" />
<input type="submit" value="提交" />
</form>
$('#myForm').submit(function(event) {
event.preventDefault();
var name = $('input[name="name"]').val();
$.post('/api', { name: name }, function(data) {
alert(data.message);
});
});
$.getJSON('/api', function(data) {
console.log('The response data:', data);
});
本文仅是 jQuery 和 AJAX 的基本参考,还有许多高级用法和深层次的知识等着大家去探索。希望本文能对前端开发者有所帮助。