1 寻找标签
1.1 直接寻找
- ID选择器
- 样式选择器/类选择器
- 标签选择器
- 层级选择器
- 多选择器
- 属性选择器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1 id="txt" class="c1">中国上海
<h2 id="tnt" class="c2" name="n1">中国北京</h2>
</h1>
<script src="static/js/jquery-3.6.0.min.js"></script>
<script type="text/javascript">
// ID选择器
$("#txt")
// 样式选择器/类选择器
$(".c1")
// 标签选择器
$("h1")
// 层级选择器
$(".c1 .c2")
$(".c1 h2")
// 多选择器
$(".c1,#txt,h2")
// 属性选择器
$("h2[name='n1']")
</script>
</body>
</html>
1.2 间接寻找
1.2.1 找兄弟
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1 id="txt" class="c1">第一个</h1>
<h1 id="tst" class="c1">第二个</h1>
<h1 id="tnt" class="c1">第三个</h1>
<h1 id="tkt" class="c1">第四个</h1>
<h1 id="ttt" class="c1">第五个</h1>
<script src="static/js/jquery-3.6.0.min.js"></script>
<script type="text/javascript">
// 找上一个兄弟
$("#tnt").prev().prev()
// 找上上一个兄弟,以此类推
$("#tnt").prev().prev()
// 找下一个兄弟
$("#tnt").next()
// 找下下一个兄弟
$("#tnt").next().next()
// 找到所有兄弟
var a = $("#tnt").siblings().text()
console.log(a)
</script>
</body>
</html>
1.2.2 找父子孙子
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div>所有人的顶级亲戚
<div>c1的父亲
<div id="c1">第一个
<div class="c1">儿子1
<div id="d1">孙子1</div>
<div>孙子2</div>
</div>
<div>儿子2
<div>孙子3</div>
<div>孙子4</div>
</div>
</div>
<h1>第二个</h1>
<h1>第三个</h1>
</div>
<div>没人要的孩子
<h1>第四个</h1>
<h1>第五个</h1>
</div>
</div>
<script src="static/js/jquery-3.6.0.min.js"></script>
<script type="text/javascript">
// 找爹
$("#c1").parent()
// 找爷
$("#c1").parent().parent()
// 找所有的儿子
$("#c1").children()
// 找儿子下面相关条件的孩子
$("#c1").children(".c1")
// 找所有的子孙
$("#c1").find(".c1")
$("#c1").find("#d1")
</script>
</body>
</html>
菜单判断切换
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.menus {
width: 200px;
height: 800px;
border: 1px solid red;
}
.menus .header {
background-color: #1b6d85;
cursor: pointer;
}
.menus .item a {
display: block;
padding: 5px 5px;
border-bottom: 1px dotted #1b6d85;
}
.hide {
display: none;
}
</style>
</head>
<body>
<div class="menus">
<div class="item">
<div class="header" onclick="clickMe(this);">北京吧</div>
<div class="content hide">
<a>宝山区</a>
<a>普通区</a>
<a>高级区</a>
<a>高级区</a>
</div>
</div>
<div class="item">
<div class="header" onclick="clickMe(this);">家乡吧</div>
<div class="content hide">
<a>宝山区</a>
<a>普通区</a>
<a>高级区</a>
<a>高级区</a>
</div>
</div>
</div>
<script src="static/js/jquery-3.6.0.min.js"></script>
<script type="text/javascript">
// 使用self接收标签对象
function clickMe(self) {
// 兄弟中有hide标签的状态
var tag = $(self).next().hasClass("hide");
if (tag) {
// 删除兄弟标签中的类属性
$(self).next().removeClass("hide")
} else {
// 添加兄弟标签中的类属性
$(self).next().addClass("hide")
}
}
</script>
</body>
</html>
1.3 查找/新增/删除/更改标签
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.menus {
width: 200px;
height: 800px;
border: 1px solid red;
}
.menus .header {
background-color: #1b6d85;
cursor: pointer;
}
.menus .item a {
display: block;
padding: 5px 5px;
border-bottom: 1px dotted #1b6d85;
}
.hide {
display: none;
}
</style>
</head>
<body>
<div class="menus">
<div class="item">
<div class="header" onclick="clickMe(this);">北京吧</div>
<div class="content hide">
<a>宝山区</a>
<a>普通区</a>
<a>高级区</a>
<a>高级区</a>
</div>
</div>
<div class="item">
<div class="header" onclick="clickMe(this);">家乡吧</div>
<div class="content hide">
<a>宝山区</a>
<a>普通区</a>
<a>高级区</a>
<a>高级区</a>
</div>
</div>
</div>
<script src="static/js/jquery-3.6.0.min.js"></script>
<script type="text/javascript">
// 使用self接收标签对象
function clickMe(self) {
// 删掉兄弟中有hide标签的
$(self).next().removeClass("hide");
// 父亲的所有兄弟标签,追加hide类
$(self).parent().siblings().find(".content").addClass("hide");
}
</script>
</body>
</html>
2 加速执行事件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<ul>
<li>百度</li>
<li>百度</li>
<li>百度</li>
</ul>
<script src="static/js/jquery-3.6.0.min.js"></script>
<script type="text/javascript">
// 当页面的框架加载完成之后,自动执行,页面内容不管
$(function () {
$("li").click(function () {
// this当前的标签
$(this).remove();
});
})
</script>
</body>
</html>