1 jQuery主架
jQuery是一个封装JS的框架。
使用jQuery可以更方便的编写JS脚本实现的功能。
2 jQuery框架
jQuery 是一个 JavaScript 库。
jQuery 极大地简化了 JavaScript 编程。
3 jQuery可以做什么?
HTML 元素选取
HTML 元素操作
CSS 操作
HTML 事件函数
JavaScript 特效和动画
HTML DOM 遍历和修改
AJAX(重要)
4 如何在HTML页面中使用jQuery框架
jQuery是一个封装了JS脚本的框架。
也就是说是已经写好的JS代码。
.js就是JavaScript的外部脚本文件。
.min.js 这是压缩的版本。
需要在HTML页面中导入相应的js文件。
<script src="js/jquery-3.5.1.js" >中间是空的!!!</script>
5 jQuery的核心方法
在jQuery中封装了一系列的方法。
核心方法: jquery();
简化格式: $(); 合作$代替jQuery这个方法名。
$(参数):参数可以是选择器,还可以直接就是一个函数。
6 jQuery中事件方法
在jQuery中将HTML中事件都封装成了一系统的事件方法。
例:表示页面输载入事件:ready(函数)
<script type="text/javascript">
$(document).ready(function(){
alert("msg");
});
</script>
//简化版
<script type="text/javascript">
$(function(){
alert("msg");
});
</script>
7 jQuery的选择器
选择器的作用是用来在HTML页面上查找元素。
jQuery的选择器与CSS内嵌样式选择器是一样的。
jQuery 选择器允许您对 HTML 元素组或单个元素进行操作。
jQuery 选择器基于元素的 id、类、类型、属性、属性值等"查找"(或选择)HTML 元素。 它
基于已经存在的CSS选择器,除此之外,它还有一些自定义的选择器。
jQuery 中所有选择器都以美元符号开头:$()。
8 jQuery的方法
8.1 值的方法
HTML代码/文本/值
html()====>innerHTML
text()====>innerText
val()====>value
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
* {
font-family:'Courier New', Courier, monospace;
}
#myspan {
font-size: 36px;
color: darkorange;
font-family: "楷体";
}
</style>
<script src="js/jquery-3.5.1.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(function() {
console.log($("#myspan").html());
$("#myspan").text("<i>这是使用jQuery加的HTML</i>");
$("#myText").blur(function() {
$("#myspan").html("<B>" + $(this).val() + "</B>");
});
});
</script>
</head>
<body>
<span id="myspan"><b>这是SPAN标签</b></span><br>
<input type="text" name="userName" value="peter" id="myText" />
</body>
</html>
8.2 CSS样式的方法
使用css()的方法可以设置和获取对象的样式。
css() 方法设置或返回被选元素的一个或多个样式属性。
返回CSS 属性
如需返回指定的 CSS 属性的值,请使用如下语法:
css("propertyname");
例子:将返回首个匹配元素的 background-color 值:
$("p").css("background-color");
设置单个CSS属性
如需设置指定的 CSS 属性,请使用如下语法:
css("propertyname","value");
下面的例子将为所有匹配元素设置 background-color 值:
$("p").css("background-color","yellow");
设置多个 CSS 属性
如需设置多个 CSS 属性,请使用如下语法:
css({"propertyname":"value","propertyname":"value",...});
下面的例子将为所有匹配元素设置 background-color 和 font-size:
$("p").css({"background-color":"yellow","font-size":"200%"});
8.3 属性
attr方法可以获取属性的值,也可以设置属性的值,也可以获取一个我们自己新定义的属性
的值。
获取xo标签attribute属性的值:xo可以是ID可以是类。如下:
$(xo).attr(attribute)
设置attribute属性的值为value
$(xo).attr(attribute, value)
设置多个attribute属性的值value们
$(xo).attr({attribute1: value1, attribute2: value2})
8.4 类样式的使用
jQuery 操作 CSS
jQuery 拥有若干进行 CSS 操作的方法。
addClass() - 向被选元素添加一个或多个类
removeClass() - 从被选元素删除一个或多个类
toggleClass() - 对被选元素进行添加/删除类的切换操作
jQuery addClass() 方法
下面的例子展示如何向不同的元素添加 class 属性。在添加类时,您也可以选取多个元素:
$("button").click(function(){ $("h1,h2,p").addClass("blue");$("div").addClass("important");
});
也可以在 addClass() 方法中规定多个类:
$("button").click(function(){
$("body div:first").addClass("important blue");
});
jQuery - 添加元素
通过 jQuery,可以很容易地添加新元素/内容。
添加新的 HTML 内容时学习用于添加新内容的四个 jQuery 方法:
append() - 在被选元素的结尾插入内容
prepend() - 在被选元素的开头插入内容
after() - 在被选元素之后插入内容
before() - 在被选元素之前插入内容
jQuery removeClass() 方法
下面的例子演示如何在不同的元素中删除指定的 class 属性:
$("button").click(function(){ $("h1,h2,p").removeClass("blue"); });
jQuery toggleClass() 方法
下面的例子将展示如何使用 jQuery toggleClass() 方法。该方法对被选元素进行添加/删除类的切换操作:
$("button").click(function(){ $("h1,h2,p").toggleClass("blue"); });
jQuery - 删除元素
通过 jQuery,可以很容易地删除已有的 HTML 元素。
如需删除元素和内容,一般可使用以下两个 jQuery 方法:
remove() - 删除被选元素(及其子元素)
empty() - 从被选元素中删除子元素
9 实现动态表格
步骤:①创建一个表格
②编写数据
③在页面加载完成之后初始化表格
④将表单中的数据加到表格
⑤为每一行增加一个删除按钮
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
.c1 {
background-color: #00FFFF;
}
.c2 {
background-color: burlywood;
}
thead {
background-color: fuchsia;
}
</style>
<script src="js/jquery-3.5.1.js" type="text/javascript" charset="utf-8"></script>
<script>
let stuArr = [{
'sid': 1,
'sname': '残念',
'ssex': '1',
'sscore': 60
},
{
'sid': 2,
'sname': '白茶',
'ssex': '0',
'sscore': 90
},
{
'sid': 3,
'sname': '八碗',
'ssex': '1',
'sscore': 100
}
];
$(function(){
$("#btnAdd").click(function(){
let trObj = $("<tr></tr>");
let sidTd = $("<td></td>").html($("#sid").val());
let snameTd = $("<td></td>").html($("#sname").val());
let ssexTd = $("<td></td>").html($(".radioCls:checked").val());
let sscoreTd = $("<td></td>").html($("#sscore").val());
let delTd = $("<td></td>");
let delBtn = $("<input>").attr("type","button").val("删除");
delTd.append(delBtn);
trObj.append(sidTd).append(snameTd).append(ssexTd).append(sscoreTd).append(delTd);
$("#tabData").append(trObj);
delBtn.click(function(){
if(confirm("是否删除"+$(this).parent().parent().find("td:eq(1)").text()+"?")){
$(this).parent().parent().remove();
$("#tabData tr").removeClass("c1");
$("#tabData tr").removeClass("c2");
$("#tabData tr:even").addClass("c1");
$("#tabData tr:odd").addClass("c2");
}
});
$("#tabData tr:even").addClass("c1");
$("#tabData tr:odd").addClass("c2");
});
$.each(stuArr,function(i,jsonObj){
//在jQuery中如何创建一个tr标签对象
let trObj = $("<tr>");
let sidTd = $("<td>").html(jsonObj.sid);
let snameTd = $("<td>").html(jsonObj.sname);
let ssexTd = $("<td>").html(jsonObj.ssex);
let sscoreTd = $("<td>").html(jsonObj.sscore);
let delTd = $("<td></td>");
let delBtn = $("<input/>").attr("type","button").val("删除");
delTd.append(delBtn);
trObj.append(sidTd).append(snameTd).append(ssexTd).append(sscoreTd).append(delTd);
$("#tabData").append(trObj);
delBtn.click(function(){
if(confirm("是否删除"+$(this).parent().parent().find("td:eq(1)").text()+"?")){
$(this).parent().parent().remove();
$("#tabData tr").removeClass("c1");
$("#tabData tr").removeClass("c2");
$("#tabData tr:even").addClass("c1");
$("#tabData tr:odd").addClass("c2");
}
});
});
$("#tabData tr:even").addClass("c1");
$("#tabData tr:odd").addClass("c2");
})
</script>
</head>
<body>
<table width="60%" border="1px" cellpadding="3px" cellspacing="0px">
<thead>
<tr>
<th>编号</th>
<th>姓名</th>
<th>性别</th>
<th>积分</th>
<th>删除</th>
</tr>
</thead>
<tbody id="tabData">
</tbody>
</table>
<hr>
<form>
编号:<input type="text" name="sid" id="sid" value="" /><br>
姓名:<input type="text" name="sname" id="sname" value="" /><br>
性别:<input type="radio" name="ssex" value="1" id="ssex" />男
<input type="radio" name="ssex" value="0" id="ssex" />女<br>
积分:<input type="text" name="sscore" id="sscore" value="" /><br>
<input type="button" id="btnAdd" name="btnAdd" value="保存" />
</form>
</body>
</html>