一、操作css样式
案例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="../js/jquery-3.6.0.min.js"></script>
<style>
body {
background-color: #000;
}
div {
width: 690px;
margin: 30px auto;
border: 1px solid #fff;
padding-right: 50px;
}
div ul {
width: 680px;
display: flex;
flex-wrap: wrap;
list-style: none;
}
div ul li {
padding: 10px 10px;
}
</style>
</head>
<body>
<div>
<ul>
<li>
<a href=""></a><img src="../img/01.jpg" alt=""></li>
<li>
<a href=""></a><img src="../img/02.jpg" alt=""></li>
<li>
<a href=""></a><img src="../img/03.jpg" alt=""></li>
<li>
<a href=""></a><img src="../img/04.jpg" alt=""></li>
<li>
<a href=""></a><img src="../img/05.jpg" alt=""></li>
<li>
<a href=""></a><img src="../img/06.jpg" alt=""></li>
</ul>
</div>
</body>
<script>
$(function() {
//给所以li标签绑定鼠标移入事件
$("ul li").mouseover(function() {
//给当前的li标签设置opacity的值为1,找到他的兄弟元素设置opacity值为0.5 当前 this
$(this).css("opacity", 1).siblings().css("opacity", 0.5)
})
//鼠标移除
$("ul").mouseout(function() {
//所以liopacity为1
$("ul li").css("opacity", 1)
})
})
</script>
</html>
效果:
- 单个样式写法(.css("color", "#fff"))
设置多个样式(两种写法)
1.
$(this).css({
"color": "#fff",
"font-weight": "bold"
})
2.链式写法
$(this).css("color", "#fff").css("font-weight", "bold")
二、操作class
addClass():给元素添加class事件,如果元素上面有其他的classname,那么会将新增加的追加到现在的classname后面
removeClass():可以将某个元素class移除,如果未传参,则可以将元素上的所以class移除
hasClass(类名):用来判断元素上是否有某个class,如果有则返回true,没有返回false
toggleClass() 对设置或移除被选元素的一个或多个类进行切换(该方法检查每个元素中指定的类。如果不存在则添加类,如果已设置则删除之。这就是所谓的切换效果)
以上代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="../js/jquery-3.6.0.min.js"></script>
<style>
ul {
list-style: none;
}
ul li {
display: inline-block;
width: 100px;
height: 100px;
border: 1px solid red;
text-align: center;
line-height: 100px;
}
.basic {
background-color: rebeccapurple;
color: red;
font-size: 30px;
}
.bigger {
color: #fff;
font-size: 16px;
}
</style>
</head>
<body>
<input type="button" value="添加basic样式">
<input type="button" value="添加bigger类">
<input type="button" value="移除bigger类">
<input type="button" value="判断bugger">
<input type="button" value="切换">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</body>
<script>
$(function() {
// addClass():给元素添加class事件,如果元素上面有其他的classname,那么会将新增加的追加到现在的classname后面
//获取第一个按钮,给他绑定事件
$("input:first").click(function() {
//给li添加样式$
$("ul li").addClass("basic")
})
$("input:eq(1)").click(function() {
//给li添加样式$
$("ul li").addClass("bigger")
})
//移除
// removeClass():可以将某个元素class移除,如果未传参,则可以将元素上的所以class移除
$("input:eq(2)").click(function() {
//给li添加样式$
// $("ul li").removeClass()//移除全部
$("ul li").removeClass("bigger") //移除class为bigger的
})
//判断
$("input:eq(3)").click(function() {
//给li添加样式$
// hasClass(类名):用来判断元素上是否有某个class,如果有则返回true,没有返回false
alert($("ul li").hasClass("bigger"))
// 如下代码判断是否有bigger,如果没有进行添加
if (!$("ul li").hasClass("bigger")) {
$("ul li").addClass("bigger")
}
})
//切换
$("input:eq(4)").click(function() {
//给li添加样式$
$("ul li").toggleClass("bigger")
})
})
</script>
</html>
效果:
案例:(选项卡)
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="../js/jquery-3.6.0.min.js"></script>
<style>
* {
margin: 0;
padding: 0;
}
ul li {
list-style: none;
}
#box {
width: 300px;
border: 1px solid #ccc;
margin: 30px;
}
#box ul li {
font-size: 20px;
font-weight: bold;
float: left;
color: white;
width: 100px;
padding: 10px 0;
text-align: center;
background-color: rgb(255, 0, 0);
}
.active {
background: rgb(165, 42, 42) !important;
}
.content div {
font-size: 30px;
font-weight: bold;
display: none;
height: 150px;
}
.show {
display: block !important;
}
</style>
</head>
<body>
<div id="box">
<ul>
<li class="active">Home</li>
<li>About</li>
<li>Login</li>
</ul>
<div class="content">
<div class="show" style="background-color: green;">Home</div>
<div style="background-color: greenyellow;">About</div>
<div style="background-color: yellow;">Login</div>
</div>
</div>
<script>
$(function() {
$("ul li").click(function() {
$(this).addClass("active").siblings().removeClass("active")
var index = $(this).index()
$(".content div").eq(index).addClass("show").siblings().removeClass("show")
})
})
</script>
</body>
</html>
效果:
三、可见性过滤器
- visible:用来获取到可见的元素
hidden:用来获取到隐藏的元素
案例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="../js/jquery-3.6.0.min.js"></script>
<style>
div {
width: 200px;
height: 200px;
background-color: blueviolet;
margin-bottom: 20px;
}
</style>
</head>
<body>
<div></div>
<div></div>
<input id="btn1" type="button" value="隐藏">
<input id="btn2" type="button" value="显示">
</body>
<script>
$(function() {
$("#btn1").click(function() {
// visible:用来获取到可见的元素
$("div:visible").hide(1000)
})
$("#btn2").click(function() {
// hidden:用来获取到隐藏的元素
$("div:hidden").show(1000)
})
})
</script>
</html>
效果:
四、html()、text()、val()
- html():读取和修改一个元素的HTML内容
- text():读取和修改一个元素的文本内容
- val():读取和修改一个表单元素的value字段值
案例:(实现隐藏和显示)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="../js/jquery-3.6.0.min.js"></script>
<style>
h4 {
width: 200px;
background-color: green;
text-align: center;
margin-left: 20px;
color: #fff;
}
ul {
list-style: none;
width: 200px;
display: flex;
flex-wrap: wrap;
}
ul li {
line-height: 30px;
width: 66px;
}
ul li a {
text-decoration: none;
color: #000;
}
#btn {
display: inline-block;
width: 200px;
text-align: right;
color: #000;
}
</style>
</head>
<body>
<h4>图书分类</h4>
<div>
<ul>
<li><a href="#">小说</a></li>
<li><a href="#">文艺</a></li>
<li><a href="#">青春</a></li>
<li><a href="#">少儿</a></li>
<li><a href="#">生活</a></li>
<li><a href="#">社科</a></li>
<li><a href="#">管理</a></li>
<li><a href="#">计算机</a></li>
<li><a href="#">教育</a></li>
<li><a href="#">工具书</a></li>
<li><a href="#">引进版</a></li>
<li><a href="#">其他类</a></li>
</ul>
<a href="#" id="btn">简化</a>
</div>
</body>
<script>
$(function() {
$("#btn").click(function() {
if ($(this).text() == "简化") {
// get:索引
$("ul li:gt(4):not(:last)").hide()
$(this).text("更多")
} else {
$("ul li:gt(4):not(:last)").show()
$(this).text("简化")
}
})
})
</script>
</html>
效果:
五、操作节点
append()、appendTo()、prepend()、prependTo()都是给某元素前面/后面添加子元素
before()、after():指给某元素前面/后面添加兄弟元素
remove():移除元素移除全部
empty():移除元素内容
案例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="../js/jquery-3.6.0.min.js"></script>
<style>
ul {
list-style: none;
}
ul li:nth-child(even) {
width: 400px;
height: 50px;
line-height: 50px;
background-color: aqua;
}
ul li:nth-child(odd) {
width: 400px;
height: 50px;
line-height: 50px;
background-color: orange;
}
</style>
</head>
<body>
<button id="btn1">append添加</button>
<button id="btn2">appendTo添加</button>
<button id="btn3">prepend添加</button>
<button id="btn4">prependTo添加</button>
<button id="btn5">before添加</button>
<button id="btn6">after添加</button>
<button id="btn7">remove移除</button>
<button id="btn8">empty移除</button>
<ul>
<li>香蕉</li>
<li>苹果</li>
<li>菠萝</li>
</ul>
</body>
<script>
$(function() {
// append()、appendTo()、prepend()、prependTo()都是给某元素前面/后面添加子元素
// before()、after():指给某元素前面/后面添加兄弟元素
$("#btn1").click(function() {
$("ul").append("<li>栗子</li>")
})
$("#btn2").click(function() {
$("<li>梨</li>").appendTo("ul")
})
$("#btn3").click(function() {
$("ul").prepend("<li>西瓜</li>")
})
$("#btn4").click(function() {
$("<li>西瓜</li>").prependTo("ul")
})
$("#btn5").click(function() {
$("ul").before("<h2>水果清单</h2>")
})
$("#btn6").click(function() {
$("ul").after("<span>注意:天气太热水果不易长期保存,尽快食用!!!</span>")
})
$("#btn7").click(function() {
// $("ul").remove()
$("ul li").remove(":eq(2)")
})
$("#btn8").click(function() {
$("ul").empty()
})
})
</script>
</html>
效果: