jQuery 语法速览
0x01 概述
- jQuery 官网:https://jquery.com/
- jQuery 是一套兼容多浏览器的 JavaScript 脚本库
- 导入 jQuery:
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
- 优点:
- 提供强大的功能函数
- 解决浏览器兼容问题
$
代表对 jQuery 的引用
0x02 对象
-
jQuery 在 DOM 对象基础上扩充出包装集对象
-
对象转换:
-
DOM 对象 -> 包装集对象
var domObject = document.getElemenetById("myDiv"); var jqObject = $(domObject);
-
包装集对象 -> DOM 对象
var jqObject = $("#myDiv"); var domObject = jqObject[0];
-
-
当目标元素为空时,DOM 对象为
null
,包装集对象为空集
0x03 选择器
(1)基础选择器
按优先级从高到低
-
id 选择器
$("#myDiv"); // 等价于 document.getElementById("myDiv";
-
元素选择器
$("div"); // 等价于 document.querySelectorAll("div");
-
类选择器
$(".myDiv"); // 等价于 document.querySelectorAll(".myDiv");
-
通配选择器
$("*"); // 等价于 document.querySelectorAll("*");
-
组合选择器
$("#myDiv", "div", ".myDiv");
(2)层次选择器
-
后代选择器
$("#parent div");
id 为 parent 的元素下所有 div 元素
-
子代选择器
$("#parent > div");
id 为 parent 的元素下第一级 div 元素
-
相邻选择器
$("#parent + div");
id 为 parent 的元素的下一个 div 元素
-
兄弟选择器
$("#parent ~ div");
id 为 parent 的元素之后的所有 div 元素
(3)表单选择器
-
表单选择器
$(":");
包括
<input />
、<textarea>
、<select>
、<button>
-
文本框选择器
$(":text");
-
密码框选择器
$(":password");
-
单选按钮选择器
$(":radio");
-
复选框选择器
$(":checkbox");
-
提交按钮选择器
$(":submit");
-
图像域选择器
$(":image");
-
重置按钮选择器
$(":reset");
-
按钮选择器
$(":button");
-
文件域选择器
$(":file");
(4)其他选择器
-
属性选择器
$("[属性名]"); // 或 $("[属性名='属性值']");
如:
$("[name='username']");
-
过滤选择器
$(":过滤项");
如:
$(":checked");
0x04 DOM 操作
(1)属性
-
jQuery 操作属性方法包括
attr
和prop
-
attr
- 设置属性:
对象.attr("属性名", "属性值");
- 获取属性:
var 变量名 = 对象.attr("属性名");
- 设置属性:
-
prop
- 设置属性:
对象.prop("属性名", "属性值");
- 获取属性:
var 变量名 = 对象.prop("属性名");
- 设置属性:
-
异同:
-
都可以操作固有属性
固有属性:元素本身拥有的属性
-
只有
attr
可以操作自定义属性自定义属性:对元素自定义的属性
-
推荐使用
prop
操作返回值是布尔类型的属性如:
checked
、selected
、disabled
等
-
(2)样式
- 获取样式名称:
attr("class")
- 修改样式:
attr("class", "样式名")
- 添加样式
- 添加样式名称:
addClass("样式名")
- 添加具体样式:
css()
- 如:
css("样式名", "样式值");
或css({"样式名1": "样式值1", "样式名2": "样式值2"});
- 如:
- 添加样式名称:
- 移除样式名称:
removeClass(class)
(3)内容
- HTML 内容:
- 获取:
html()
- 修改:
html("内容")
- 获取:
- 文本内容:
- 获取:
text()
- 修改:
text("内容")
- 获取:
- 值内容:
- 获取:
val()
- 修改:
val("值")
- 获取:
(4)创建
使用 $
直接创建元素,如:$('<h1>Title</h1>');
(5)添加
- 头添加
prepend()
:在被选中元素内部的开头添加元素$("A").prependTo("B")
:把 A 元素加到 B 元素的开头before()
:在指定元素前添加元素
- 尾添加
append()
:在被选中元素内部的结尾添加元素$("A").appendTo("B")
:把 A 元素加到 B 元素的结尾after()
:在指定元素后添加元素
(6)删除
remove()
:删除指定元素及其所有子元素,包括元素标签empty()
:清空指定元素内容,不包括元素标签
(7)遍历
$().each(function(index, element) {})
:遍历指定元素下的所有元素,通过回调函数,根据索引(从 0 开始)和 DOM 元素进行操作
- 回调函数的
this
指向被指定的元素
0x05 事件
(1)加载事件
- 加载事件
ready()
类似onLoad()
,可以有多个并依序执行 $(document).ready(function() {})
等价于$(function() {})
(2)绑定事件
- 绑定事件
bind()
可以为被选中的元素添加一个或多个事件处理方法 $().bind(eventType[, eventData], handler(eventObject))
eventType
:触发事件类型,如click
、mouseover
等eventData
:传递参数handler(eventObject)
:事件处理方法及事件对象
0x06 AJAX
-
jQuery 中通过
$.ajax({})
使用 AJAX -
参数是一个对象,其中属性及含义为:
type
:请求方式,如get
、post
url
:请求地址async
:是否异步,默认异步(true
)data
:发送的数据contentType
:发送的数据的类型dataType
:返回的数据的类型success
:请求成功的回调函数error
:请求失败的回调函数
-
举例:
$.ajax({ type: "get", url: "data/dummy.json", data: {}, success: function (data) { console.log(data); }, error: function (data) { console.log(data); }, });
-
GET 请求简写方法:
$.get(url, data, successCallback() {})
- 固定 JSON 格式的 GET 请求简写方法:
$.getJSON(url, data, successCallback() {})
- 固定 JSON 格式的 GET 请求简写方法:
-
POST 请求简写方法:
$.post(url, data, successCallback() {})
-End-