火红彩票

jquery可以获取祖先元素吗?

jquery可以获取祖先元素吗?

jquery中可以获取祖先元素,可以使用parents() 方法或closest() 方法来获取祖先元素。

使用parents() 方法可以获取被选元素的所有祖先元素,closest() 方法返回被选元素的第一个祖先元素。

火红彩票祖先是父、祖父、曾祖父,依此类推。

DOM 树:

  • parents() 方法从父元素向上遍历 DOM 元素的祖先,直至文档根元素的所有路径(<html>)。

  • closest() 方法从当前元素向上遍历,直至文档根元素的所有路径(<html>),来查找 DOM 元素的第一个祖先元素。

parents() 方法

语法

$(selector).parents(filter)

1.png

示例1:获取所有祖先元素

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
.ancestors *{ 
	display: block;
	border: 2px solid lightgrey;
	color: lightgrey;
	padding: 5px;
	margin: 15px;
}
</style>
<script src="http://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
	$("span").parents().css({"color":"red","border":"2px solid red"});
});
</script>
</head>

<body class="ancestors">body (曾曾祖父节点)
	<div style="width:500px;">div (曾祖父节点)
		<ul>ul (祖父节点)  
			<li>li (直接父节点)
				<span>span</span>
			</li>
		</ul>   
	</div>
</body>

<!-- body元素之前的外部红色的边框,是html元素(也是一个祖先节点)。-->
</html>

1].png

示例2:返回 <span> 的所有祖先中的 <li> 和 <div> 元素

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
.ancestors *{ 
	display: block;
	border: 2px solid lightgrey;
	color: lightgrey;
	padding: 5px;
	margin: 15px;
}
</style>
<script src="http://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
	  $("span").parents("div,li").css({"color":"red","border":"2px solid red"});
});
</script>
</head>

<body class="ancestors">body (曾曾祖父节点)
	  <div style="width:500px;">div (曾祖父节点)
		<ul>ul (祖父节点)  
		  <li>li (直接父节点)
			<span>span</span>
		  </li>
		</ul>   
	  </div>
</body>

</html>

2.png

示例3:返回 <span> 的所有祖先中的 <ul> 元素

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
.ancestors *{ 
	display: block;
	border: 2px solid lightgrey;
	color: lightgrey;
	padding: 5px;
	margin: 15px;
}
</style>
<script src="http://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
	$("span").parents("ul").css({"color":"red","border":"2px solid red"});
});
</script>
</head>

<body class="ancestors">body (曾曾祖父节点)
	<div style="width:500px;">div (曾祖父节点)
		<ul>ul (祖父节点)  
			<li>li (直接父节点)
				<span>span</span>
			</li>
		</ul>   
	</div>
</body>

</html>

3.png

closest() 方法

语法

火红彩票返回被选元素的第一个祖先元素:

$(selector).closest(filter)

返回使用 DOM context 查找的 DOM 树中的第一个祖先元素:

$(selector).closest(filter,context)

4.png

示例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
.ancestors *{ 
	display: block;
	border: 2px solid lightgrey;
	color: lightgrey;
	padding: 5px;
	margin: 15px;
}
</style>
<script src="http://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
	$("span").closest("ul").css({"color":"red","border":"2px solid red"});
});
</script>
</head>

<body class="ancestors">body (曾曾祖先节点)
	<div style="width:500px;">div (曾祖先节点)
		<ul>ul (第二祖先 - 第二祖先节点) 
			<ul>ul (第一祖先 - 第一祖先节点)
				<li>li (直接父节点)
					<span>span</span>
				</li>
			</ul>
		</ul>   
	</div>
</body> 
</html>

5.png

更多web前端知识,请查阅 HTML中文网 !!

以上就是jquery可以获取祖先元素吗?的详细内容,更多请关注html中文网其它火红彩票相关的文章!

赞(0) 打赏
未经允许不得转载:html中文网火红彩票 » jQuery 答疑

评论 抢沙发

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

酷彩娱乐-主页 网易彩票-主页 铂金彩票-主页 广西快三-主页 澳客彩票-主页 富鱼彩票-主页 中华彩票网-主页 开心生肖-主页 开心中彩票-主页 甘肃体彩网-主页