1. 基本的过滤选择器
- :first 获取第一个元素
- :last 获取最后个元素
- :not(selector) 去除所有与给定选择器匹配的元素 即,取反
- :even 匹配所有索引值为偶数的元素,从 0 开始计数
- :odd 匹配所有索引值为奇数的元素,从 0 开始计数
- :eq(index) 匹配一个给定索引值的元素
- :gt(index) 匹配所有大于给定索引值的元素
- :lt(index) 匹配所有小于给定索引值的元素
- :header 匹配如 h1, h2, h3 之类的标题元素
- :animated 匹配所有正在执行动画效果的元素
所有的操作,都要涉及是对哪一部分的操作,取哪一部分为样本空间 :
$(":not(div)") 表示在整个body对象里剔除所有div标签,取剩下的标签
$("div:not(.one)") 表示所有的div标签里,剔除所有class=one的div标签
对于4和5而言,由于索引值是从0开始计数的,所以在逻辑上的偶数对应物理上(索引值)的奇数,应该用:odd,
同理,要求奇数时,要用偶数:even
![](https://i-blog.csdnimg.cn/blog_migrate/0f1fc4a606e6fa7d07457e9ed3020877.png)
![](https://i-blog.csdnimg.cn/blog_migrate/944ce0cdeb876c2e4c89bce74a680532.png)
案例演示
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>jQuery-2021-01-30</title>
<style type="text/css">
div, span, p {
width: 140px;
height: 140px;
margin: 5px;
background: #aaa;
border: #000 1px solid;
float: left;
font-size: 17px;
font-family: Verdana;
}
div.mini {
width: 55px;
height: 55px;
background-color: #aaa;
font-size: 12px;
}
div.hide {
display: none;
}
</style>
<script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
<script type="text/javascript">
$(function(){
function anmateIt(){
$("#mover").slideToggle("slow", anmateIt);
}
anmateIt();
});
//实现如下功能:
//1.选择第一个 div 元素
//2.选择最后一个 div 元素
//3.选择class不为 one 的所有 div 元素
//4.选择索引值为偶数的 div 元素
//5.选择索引值为奇数的 div 元素
//6.选择索引值为大于 3 的 div 元素
//7.选择索引值为等于 3 的 div 元素
//8.选择索引值为小于 3 的 div 元素
//9.选择所有的标题元素
//10.选择当前正在执行动画的所有元素
//11.选择没有执行动画的最后一个div
</script>
</head>
<body>
<input type="button" value="选择第一个 div 元素" id="btn1" />
<input type="button" value="选择最后一个 div 元素" id="btn2" />
<input type="button" value="选择class不为 one 的所有 div 元素" id="btn3" />
<input type="button" value="选择索引值为偶数的 div 元素" id="btn4" />
<input type="button" value="选择索引值为奇数的 div 元素" id="btn5" />
<input type="button" value="选择索引值为大于 3 的 div 元素" id="btn6" />
<input type="button" value="选择索引值为等于 3 的 div 元素" id="btn7" />
<input type="button" value="选择索引值为小于 3 的 div 元素" id="btn8" />
<input type="button" value="选择所有的标题元素" id="btn9" />
<input type="button" value="选择当前正在执行动画的所有元素" id="btn10" />
<input type="button" value="选择没有执行动画的最后一个div" id="btn11" />
<h3>基本选择器.</h3>
<br><br>
<div class="one" id="one">
id 为 one,class 为 one 的div
<div class="mini">class为mini</div>
</div>
<div class="one" id="two" title="test">
id为two,class为one,title为test的div
<div class="mini" title="other">class为mini,title为other</div>
<div class="mini" title="test">class为mini,title为test</div>
</div>
<div class="one">
<div class="mini">class为mini</div>
<div class="mini">class为mini</div>
<div class="mini">class为mini</div>
<div class="mini"></div>
</div>
<div class="one">
<div class="mini">class为mini</div>
<div class="mini">class为mini</div>
<div class="mini">class为mini</div>
<div class="mini" title="tesst">class为mini,title为tesst</div>
</div>
<div style="display:none;" class="none">style的display为"none"的div</div>
<div class="hide">class为"hide"的div</div>
<div>
包含input的type为"hidden"的div<input type="hidden" size="8">
</div>
<div id="mover">正在执行动画的div元素.</div>
</body>
</html>
界面效果如图所示:
功能实现:对应11个按钮,分别实现
<script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
<script type="text/javascript">
//实现执行动画,给id为mover的div标签
$(function(){
function anmateIt(){
$("#mover").slideToggle("slow", anmateIt);
}
anmateIt();
});
//实现如下功能
$(function () {
//1.选择第一个 div 元素
$("#btn1").click(function () {
$("div:first").css("background","red");
});
//2.选择最后一个 div 元素
$("#btn2").click(function () {
$("div:last").css("background","red");
});
//3.选择class不为 one 的所有 div 元素
$("#btn3").click(function () {
$("div:not(.one)").css("background","red");
//$(":not(div)").css("background","red"); 注意区分二者的区别
});
//4.选择索引值为偶数的 div 元素
$("#btn4").click(function () {
$("div:even").css("background","red");
});
//5.选择索引值为奇数的 div 元素
$("#btn5").click(function () {
$("div:odd").css("background","red");
});
//6.选择索引值为大于 3 的 div 元素
$("#btn6").click(function () {
$("div:gt(3)").css("background","red");
});
//7.选择索引值为等于 3 的 div 元素
$("#btn7").click(function(){
$("div:eq(3)").css("background","red");
});
//8.选择索引值为小于 3 的 div 元素
$("#bt8").click(function () {
$("div:lt(3)").css("background","red");
});
//9.选择所有的标题元素
$("#btn9").click(function () {
$(":header").css("background","red");
});
//10.选择当前正在执行动画的所有元素
$("#btn10").click(function () {
$(":animated").css("background","red");
});
//11.选择没有执行动画的最后一个div
$("#btn11").click(function () {
$("div:not(:animated):last").css("background","red");
});
});
</script>