JQuery基础
简介
一个JavaScript的框架,简化了JS的语法和操作,定义了HTML属性操作、样式操作、DOM操作等相关函数,实现了对ajax异步请求封装。提供了很多预定义函数的JS文件。
作用
简化部分JavaScript开发
使用步骤
1.引入JQuery
2.编写代码
引入JQuery
方式1: 引入本地JQuery文件
1.下载JQuery文件
地址1:http://code.jquery.com/jquery-3.6.0.js
地址2:http://code.jquery.com/jquery-3.6.0.min.js
2.将JQuery文件存放在js文件夹下
3.在使用JQuery文件的html中使用script标签进行引入
方式2: 通过script标签直接引入JQuery的网络地址
<script type="text/javascript" src="http://code.jquery.com/jquery-3.6.0.js"></script>
核心函数
jQuery()函数,选择器函数,用于获取HTML文档中的元素,简写为$()
作用1: 寻找标签
语法: $("选择器")
示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<span id="span">span标签</span>
<br/>
<p class="p">p标签1</p>
<p class="p">p标签2</p>
</body>
<script type="text/javascript" src="/js/jquery-3.6.0.min.js"></script>
<script type="text/javascript">
$("#span")
$(".p")
</script>
</html>
作用2: 创建标签
语法: $("标签")
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title></title>
<script src="js/jquery-3.6.0.min.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div id="box">
<p>p标签</p>
</div>
</body>
<script type="text/javascript">
var h = $("<h1>德玛西亚</h1>");
$("#box").append(h);
</script>
</html>
作用3: 入口函数
作用: 类似于window.onload = function(){}; 当页面加载完成后执行
语法1: $(document).ready(function(){});
语法2: $(function(){});
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title></title>
<script src="js/jquery-3.6.0.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(document).ready(function () {
});
$(function () {
});
</script>
</head>
<body>
<div id="box">
<p>p标签</p>
</div>
</body>
</html>
作用4: 将DOM对象转换为JQuery对象
语法: $(DOM对象)
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title></title>
<script src="js/jquery-3.6.0.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(function () {
var p = document.getElementById("p");
console.log("p的dom对象:" + p);
var p2 = $(p);
console.log("p的jquery对象:" + p2);
console.log("p2转换为dom对象:" + p2[0]);
});
</script>
</head>
<body>
<div id="box">
<p id="p">p标签</p>
</div>
</body>
</html>
注意: JQuery无法使用DOM对象提供的属性与方法
选择器
基本选择器
id选择器: #id
class选择器: .class
标签选择器: 标签名
通配选择器: *
伪类选择器
鼠标悬浮
获取焦点
...
复合选择器
selector1 selector2: 后代选择器,选择所有selector1匹配的元素里面的匹配selector2的元素
selector1 > selector2: 子元素选择器,选择匹配selector1元素的子标签中匹配selector2的元素
selector1,selector2: 选择所有匹配selector1和selector2的元素(并集)
selector1 + selector2: 匹配所有紧接在selector1元素后的selector2元素
selector1 ~ selector2: 匹配所有在selector1元素后的selector2元素
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
div p {
color: red;
}
div > p {
color: green;
}
#box01 p, #p {
font-size: 20px;
}
#box02 + #p {
color: orange;
}
#box02 ~ #p {
text-decoration: underline;
}
</style>
</head>
<body>
<div id="box01">
<p>p1</p>
<p>p2</p>
<p>p3</p>
<p>p4</p>
</div>
<hr/>
<div id="box02">
<p>p1</p>
<p>p2</p>
<p>p3</p>
<p>p4</p>
</div>
<p id="p">div外的p标签</p>
</body>
</html>
属性选择器
语法:
选择器[属性名]
选择器[属性名=属性值]
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
input[type=password] {
background: red;
}
input[type] {
display: block;
height: 100px;
}
</style>
</head>
<body>
<input type="text"/>
<input type="password"/>
</body>
</html>
JQuery选择器筛选
语法
选择器筛选语法 | 说明 |
---|
$("selector: first ") | 匹配selector选择的元素集合中的第一个 |
$("selector: last ") | 匹配selector选择的元素集合中的最后一个 |
$("selector: odd ") | 匹配selector选择的元素集合中索引为奇数的元素(1,3,5,7,…) |
$("selector: even ") | 匹配selector选择的元素集合中索引为偶数的元素(0,2,4,6,…) |
$("selector: eq(index) ") | 匹配selector选择的元素集合中索引为index的元素 |
$("selector: lt(index) ") | 匹配selector选择的元素集合中索引小于index的元素 |
$("selector: gt(index) ") | 匹配selector选择的元素集合中索引大于index的元素 |
$("selector [attrName=attrValue] ") | 匹配selector选择的元素集合中attrName属性值为attrValue的元素 |
$("selector [attrName!=attrValue] ") | 匹配selector选择的元素集合中attrName属性值不为attrValue的元素 |
示例
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="js/jquery-3.6.0.min.js" type="text/javascript"
charset="utf-8"></script>
<script type="text/javascript">
$(function () {
$("p:first").css("color", "red");
$("p:last").css("color", "orange");
$("p:odd").css("font-size", "30px");
$("p:even").css("text-decoration", "underline");
$("input[type=text]").css("background", "red");
$("input[type!=text]").css("background", "green");
});
</script>
</head>
<body>
<div id="box01">
<p>p1</p>
<p>p2</p>
<p>p3</p>
<p>p4</p>
</div>
<hr/>
<div id="box02">
<p>p1</p>
<p>p2</p>
<p>p3</p>
<p>p4</p>
</div>
<p id="p">div外的p标签</p>
<input type="text"/>
<br/>
<input type="password"/>
</body>
</html>
JQuery操作内容
获取内容
语法1: $("选择器").text()
语法2: $("选择器").html()
修改内容
语法1: $("选择器").text(修改后的内容)
语法2: $("选择器").html(修改后的内容)
注意: 会替换标签中原内容
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title></title>
<script src="js/jquery-3.6.0.min.js" type="text/javascript"
charset="utf-8"></script>
<script type="text/javascript">
$(function () {
console.log($("#box").text());
console.log($("#box").html());
$("#box").html($("#box").html() + "JQuery追加的内容<hr />");
});
</script>
</head>
<body>
<div id="box">
<p id="p">p标签</p>
</div>
</body>
</html>
JQuery操作属性
一般属性
语法: attr()
示例:
//1.获取元素属性值
var v1 = $("#img").attr("src");
var v2 = $("#img").attr("width");
//2.设置元素属性
$("#img").attr("src","imgs/img01.png");
$("#img").attr("width","200px");
value属性
语法: val()
示例:
//1.获取元素value属性值
var v = $("#userName").val();
//2.设置元素的value属性值
$("#userName").val("这是设置的值");
获取单选按钮选中的值
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="js/jquery-3.6.0.js" type="text/javascript"
charset="utf-8"></script>
<script type="text/javascript">
$(function () {
$("#btn").click(function () {
var sex = $("input[name=sex]:checked").val();
alert(sex);
});
});
</script>
</head>
<body>
<p>
<p>1.选择您的性别?</p>
<input type="radio" value="男" name="sex"/>
男
<br/>
<input type="radio" value="女" name="sex"/>
女
<br/>
<input id="btn" type="button" value="提交"/>
</p>
</body>
</html>
获取多选按钮选中的值
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="js/jquery-3.6.0.js" type="text/javascript"
charset="utf-8"></script>
<script type="text/javascript">
$(function () {
$("#btn").click(function () {
var vs = $("input[name=like]:checked");
var values = new Array();
for (var i = 0; i < vs.length; i++) {
values[i] = vs[i].value;
}
alert(values);
});
});
</script>
</head>
<body>
<p>
<p>1.选择您的爱好?</p>
<input type="checkbox" value="篮球" name="like"/>
篮球
<br/>
<input type="checkbox" value="足球" name="like"/>
足球
<br/>
<input id="btn" type="button" value="提交"/>
</p>
</body>
</html>
删除属性
语法: removeAttr(属性名)
示例:
$("#input").removeAttr("value");
$("#input").removeAttr("name")
class属性
语法:
addClass(): 添加
removeClass(): 删除
toggleClass(): 原标签没有就是添加,原标签有就是删除
attr("class"): 获取class的属性值
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
.text01 {
color: red;
}
.text02 {
text-decoration: underline;
}
.text03 {
font-size: 80px;
}
</style>
<script src="js/jquery-3.6.0.min.js" type="text/javascript"
charset="utf-8"></script>
<script type="text/javascript">
$(function () {
$(".text01").addClass("text02");
$(".text01").removeClass("text02");
$(".text01").toggleClass("text03");
$(".text01").toggleClass("text01");
console.log($("#h").attr("class"));
});
</script>
</head>
<body>
<h1 class="text01" id="h">测试</h1>
</body>
</html>
JQuery操作样式
获取css属性值
语法: css("属性名")
注意: 不限于内联样式的属性
修改css属性值
语法: css("属性名","属性值");
注意: 不限于内联样式的属性
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
#box {
width: 200px;
height: 160px;
background: red;
border: 10px solid black;
position: absolute;
}
</style>
<script src="js/jquery-3.6.0.min.js" type="text/javascript"
charset="utf-8"></script>
<script type="text/javascript">
$(function () {
console.log($("#box").css("width"));
$("#box").css("height", "300px");
$("#box").css("left", "200px");
});
</script>
</head>
<body>
<div id="box"></div>
</body>
</html>