jQuery之元素的遍历和元素的过滤

  1. 元素的遍历
    1)、向下遍历
    两种方法 children find
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script src="http://127.0.0.1/web/jquery-3.3.1.js"></script>
<script src="http://127.0.0.1/web/TraversingDown.js"></script>
<style>
#div1{
	width:500px;
	height:200px;
	border:3px solid #FF33FF;}
#div2{
	width:400px;
	height:150px;
	margin-top:10px;
	margin-left:10px;
	border:3px solid  #0F0;}
p{
	width:150px;
	height:80px;
	margin-left:10px;
	margin-top:10px;
	border:3px solid  #0F0;
}

</style>
</head>

<body>
<div id="div1">div1
    <div id="div2">div2
        <p>
        	<a>Hello</a>
        </pv>
    </div>
</div>
</body>
</html>

第一种:改变的是div2的边框颜色 children()是可选参数是可以传递参数的 比如.childre("#div2")
children()方法只向下遍历一级

$(document).ready(function(e) {
    $("#div1").children().css({
		"border":"3px solid #FF0000"		});
});

第二种方法find必须加参数
find()方法可以向下遍历很多级,只需要指定即可

$("#div1").find("#div2").css({
		"border":"3px solid #FF0000"		});

2)、向上遍历
parent():
只能向上遍历一级只能看到直接父类,可选参数
parents():
向上遍历所有,可选参数 加上参数跟区间一样
parentsUntil("#div1"):
向上遍历到div1

$(document).ready(function(e) {
   // $("p").parent().css({
//		"border":"3px solid red",
//		});
//$("p").parents().css({
//		"border":"3px solid red",
//		});
 $("p").parentsUntil("#div1").css({
		"border":"3px solid red",
		});
});

3)、同级遍历

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script src="http://127.0.0.1/web/jquery-3.3.1.js"></script>
<script src="http://127.0.0.1/web/TraversingCurrent.js"></script>
<style>
.bd *{
	display:block;
	border:3px solid #3F0;
	color:#6F0;
	padding:5px ;
	margin:15px;}
</style>
</head>

<body>
<div class="bd">
	<p>p</p>
    <h2>H2</h2>
    <h3>H3</h3>
    <h4>H4</h4>
    <h5>H5</h5>
    <h6>H6</h6>
</div>
</body>
</html>

有7中方法
其中next和prev只是方向相反 next向下prev向上
1)、sibings()
同级元素全部被修改
2)、next()
向下遍历一个
3)、nextAll()
向下遍历所有
4)、nextUntil()
向下遍历一个区间

5)、prev()
向上遍历一个
6)、prevAll()
向上遍历所有
7)、prevUntil()
向上遍历一个区间

// JavaScript Document

$(document).ready(function(e) {
	//除了h4以外同级的所有元素都被修改
//    $("h4").siblings().css({
//		"border":"3px solid red",
//	
//})
//h4下面的h5被修改	
//$("h4").next().css({
//	"border":"3px solid red",
//	})
//h4下面的h5、h6被修
//$("h4").nextAll().css({
//	"border":"3px solid red",
//	})
//h4下面的h56被修,h4到h6的区间只有h5
$("h4").nextUntil("h6").css({
	"border":"3px solid red",
	})
//h4上面的h3被修改
$("h4").prev().css({
	"border":"3px solid red",
	})
});

2、元素的过滤
first():
寻找同样元素中的第一个
last():
寻找同样元素中的第二个
eq():
返回当前指定元素的索引元素的索引id id从0开始 必选值
$(“div p”).eq(0).css({
“background-color”:“red”,
});
filter():
返回当前的标准 符合就返回 不符合就不改变
$(“div p”).filter(".pclass").css({
“background-color”:“red”,
});
not():
指定一个标准 不符合的改变 符合的不改变
$(“div p”).not(".pclass").css({
“background-color”:“red”,
});

<div>
	<p>div1</p>
</div>
<div>
	<p class="pclass">div1</p>
</div>
<div>
	<p class="pclass">div1</p>
</div>
<div>
	<p>div1</p>
</div>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值