jQuery遍历节点及实例

1.父子关系

1.1. children()方法

遍历查找此元素的所有子元素节点

<div id="div1">
	<p class="p1">你好</p>
	<div id="div2"><span id="span1">你好</span></div>
</div>
<script type="text/javascript">
	console.log($('#div1').children())//1.p#p1 2.div#div2
	console.log($('#div1').children('.p'))//1.p#p1
</script>

1.2. parent()方法

返回包含此元素的唯一父节点的元素集合

<div id="div1">
	<p class="p1">你好</p>
	<div id="div2"><span id="span1">你好</span></div>
</div>
<script type="text/javascript">
	console.log($('#span1').parent());//1.div#div2
</script>
相关方法
1.2.1. parents()方法

返回包含此元素的所有祖先节点

<div id="div1">
	<p class="p1">你好</p>
	<div id="div2"><span id="span1">你好</span></div>
</div>
<script type="text/javascript">
	console.log($('#span1').parents());//1.div#div2 2. div#div1 3.body 4.html
	console.log($('#span1').parents('div')); //1.div#div2 2.div#div1
</script>
1.2.2. parentsUntil(‘element’)方法

查找此元素的祖先级元素直到 element 为止,但不包括element

<div id="div1">
	<p class="p1">你好</p>
	<div id="div2"><span id="span1">你好</span></div>
</div>
<script type="text/javascript">
	console.log($('#span1').parentsUntil('div')); //1.div#div2 
</script>

1.3.find()方法

获取此元素的所有后代,并筛选

<div id="div1">
	<p id="p1">你好</p>
	<div id="div2">
		<span id="span1">你好</span>
		<p id="p2">你好</p>
	</div>
</div>
<script type="text/javascript">
	console.log($('#div1').find("p"));1.p#p1 2.p#p2
</script>

1.4.offsetParent()方法

获得用于定位第一个父元素。如果父元素中没有用于定位,则会返回<html>元素

<div>
	<div id="div1" style="position: absolute;">
		<p id="p1">你好</p>
		<div id="div2" style="position: absolute;">
			<span id="span1">你好</span>
			<p id="p2">你好</p>
		</div>
	</div>
</div>
<script type="text/javascript">
	console.log($('#p2').offsetParent());//1.div#div2
	console.log($('#div1').offsetParent());//1.html
</script>

1.5.closest()方法

从元素本身开始,逐级向上级元素匹配,并返回最先符合匹配的祖先元素。

<div id="div1">
	<p id="p1">你好</p>
	<div id="div2">
		<span id="span1">你好</span>
		<p id="p2">你好</p>
	</div>
</div>
<script type="text/javascript">
	console.log($('#p2').closest("div"));//1.div#div2
</script>

1.6.contents()方法

获得匹配元素集合中每个元素的子节点,包括文本和注释节点

<div id="div1">
	<p id="p1">你好</p>
	<div id="div2">
		<span id="span1">你好</span>
		<!-- <p id="p2">你好</p> -->
	</div>
</div>
<script type="text/javascript">
	console.log($('#div1').contents());//1.text 2.comment 3.text 4.div#div2 5.text
	console.log($('#div1').contents("div"));//1.div#div2
</script>

2.同级关系

2.1.next()方法

获得此元素同级下一个元素

<div id="div1">
	<p id="p1">你好</p>
	<div id="div2">
		<span id="span1">你好</span>
		<!-- <p id="p2">你好</p> -->
	</div>
</div>
<script type="text/javascript">
	console.log($('#p1').next());//1.div#div2
</script>
相关方法
2.1.1.nextAll()方法

获得此元素同级后面所有元素

<div id="div1">
	<p id="p1">你好</p>
	<span id="span1">你好</span>
	<p id="p2">你好</p>
</div>
<script type="text/javascript">
	console.log($('#p1').nextAll());//1.span#span1 2.p#p2
	console.log($('#p1').nextAll("p"));//1.p#p2
</script>
2.1.2.nextUntil('element)方法

获得此元素同级后面所有元素,直到符合匹配为止,但不包括element

<div id="div1">
	<p id="p1">你好</p>
	<span id="span1">你好</span>
	<p id="p2">你好</p>
	<p id="p3">你好</p>
</div>
<script type="text/javascript">
	console.log($('#p1').nextUntil("#p3"));//1.span#span1 2.p#p2
</script>

2.2.siblings()方法

获得此元素同级所有元素

<div id="div1">
	<p id="p1">你好</p>
	<span id="span1">你好</span>
	<p id="p2">你好</p>
	<p id="p3">你好</p>
</div>
<script type="text/javascript">
	console.log($('#p2').siblings());//1.p#p1 2.span#span1 3.p#p3
	console.log($('#p2').siblings("p"));//1.p#p1 2.p#p3
</script>

2.3.prev()方法

获得此元素同级上一个元素

<div id="div1">
	<p id="p1">你好</p>
	<span id="span1">你好</span>
	<p id="p2">你好</p>
	<p id="p3">你好</p>
</div>
<script type="text/javascript">
	console.log($('#p2').prev());//1.span#span1
</script>
相关方法
2.3.1.prevAll()方法

获得此元素同级前面所有元素

<div id="div1">
	<p id="p1">你好</p>
	<span id="span1">你好</span>
	<p id="p2">你好</p>
</div>
<script type="text/javascript">
	console.log($('#p2').prevAll());//1.span#span1 2.p#p1
	console.log($('#p2').prevAll("p"));//1.p#p1
</script>
2.3.2.prevUntil('element)方法

获得此元素同级前面所有元素,直到符合匹配为止,但不包括element

<div id="div1">
	<p id="p1">你好</p>
	<span id="span1">你好</span>
	<p id="p2">你好</p>
	<p id="p3">你好</p>
</div>
<script type="text/javascript">
	console.log($('#p3').prevUntil("#p1"));//1.p#p2 2.span#span1
</script>

3.按条件筛选

3.1.eq()方法

索引值筛选p元素(索引下标从0开始)

<div id="div1">
	<p id="p1">你好</p>
	<span id="span1">你好</span>
	<p id="p2">你好</p>
	<p id="p3">你好</p>
</div>
<script type="text/javascript">
	console.log($('p').eq(1));//1.p#p2
</script>

3.2.first()方法

获取第一个p元素

<div id="div1">
	<p id="p1">你好</p>
	<span id="span1">你好</span>
	<p id="p2">你好</p>
	<p id="p3">你好</p>
</div>
<script type="text/javascript">
	console.log($('p').first());//1.p#p1
</script>

3.2.last()方法

获取最后一个p元素

<div id="div1">
	<p id="p1">你好</p>
	<span id="span1">你好</span>
	<p id="p2">你好</p>
	<p id="p3">你好</p>
</div>
<script type="text/javascript">
	console.log($('p').last());//1.p#p3
</script>

3.3.filter()方法

获取p标签中符合条件的元素

<div id="div1">
	<p id="p1">你好</p>
	<span id="span1">你好</span>
	<p id="p2">你好</p>
	<p id="p3">你好</p>
</div>
<script type="text/javascript">
	console.log($('p').filter("#p2"));//1.p#p2
</script>

3.4.has()方法

查找含包有span元素的div元素

<div id="div1">
	<span id="span1">你好</span>
</div>
<div id="div2">
	<p id="p1">你好</p>
</div>
<script type="text/javascript">
	console.log($('div').has('span'));//1.div#div1
</script>

3.5.not()方法

查找不包含有span元素的div元素

<div id="div1">
	<span id="span1">你好</span>
</div>
<div id="div2">
	<p id="p1">你好</p>
</div>
<script type="text/javascript">
	console.log($('div').has('span'));//1.div#div2
</script>

3.6.slice(selector,end)方法

选取从selector到end这个范围的p元素,不包含第end个元素

<p id="p1">你好</p>
<p id="p2">你好</p>
<p id="p3">你好</p>
<script type="text/javascript">
	console.log($("p").slice(0, 2));//1.p#p1 2.p#p2
</script>

3.7.is()方法

根据选择器、元素或 jQuery 对象来检测匹配元素集合,如果这些元素中至少有一个元素匹配给定的参数,则返回 true。

<p id="p1">你好</p>
<p id="p2">你好</p>
<p id="p3">你好</p>
<script type="text/javascript">
	console.log($("#p1").is("p"));//true
</script>

3.8.end()方法

结束当前链条中的最近的筛选操作,并将匹配元素集还原为之前的状态。

<p>
	<span>你好</span>
</p>
<script type="text/javascript">
	console.log($("p").find("span").end());//1.p
	console.log($("p").find("span"));//1.span
</script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苦夏木禾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值