首頁 > web前端 > 前端問答 > jquery尋找父級的方法有哪些

jquery尋找父級的方法有哪些

青灯夜游
發布: 2022-11-22 19:01:39
原創
8533 人瀏覽過

4個方法:1、parent(),可以找出目前元素的“父元素”,語法“$(選擇器).parent(表達式)”;2、parents(),可查找所選元素的祖先元素,語法“$(選擇器).parents(表達式)”;3、parentsUntil(),可查找指定範圍的所有祖先元素,語法“$(選擇器).parentsUntil(表達式)” ;4、closest(),可被選元素的第一個祖先元素。

jquery尋找父級的方法有哪些

本教學操作環境:windows7系統、jquery3.6.1版本、Dell G3電腦。

jquery尋找父級的方法

  • #parent()

  • parents()

  • parentsUntil()

  • #parentsUntil()

#closest()

方法一:parent()

在jQuery中,我們可以使用parent()方法來尋找目前元素的「父元素」。記住,元素只有一個父元素。


語法:

$(selector).parent(expression)
登入後複製

說明:參數expression表示jQuery選擇器表達式,用來過濾父元素。當參數省略時,則選擇所有的父元素。如果參數不省略,則選擇符合條件的父元素。

元素不是只有一個父元素麼?為什麼還有「符合條件的父元素」這個說法?對於這個,可以看看下面的例子。

jquery尋找父級的方法有哪些範例:

<!DOCTYPE html>
<html>
	<head>
		<script src="js/jquery-3.6.1.min.js"></script>
		<script type="text/javascript">
			$(function() {
				$("p").parent(".lvye").css("color", "red");
			})
		</script>
	</head>
	<body>
		<div>
			<p>php中文网jQuery入门教程</p>
		</div>
		<div class="lvye">
			<p>php中文网jQuery入门教程</p>
		</div>
		<div>
			<p>php中文网jQuery入门教程</p>
		</div>
	</body>
</html>
登入後複製

效果如下:

#方法二:parents()

parents()方法和parent()方法相似,都是用來找出所選元素的祖先元素。但是這兩個方法也有著本質上的差異。

其實這2個方法也很好區分,parent是單數形式,找出的祖先元素只有1個,那就是父元素。而parents是複數形式,尋找的祖先元素當然是所有的祖先元素。

語法:

$(selector).parents(expression)
登入後複製

說明:參數expression表示jQuery選擇器表達式字串,用來過濾祖先元素。當參數省略時,則選擇所有的祖先元素。如果參數不省略,則選擇符合條件的祖先元素。

jquery尋找父級的方法有哪些範例:

<!DOCTYPE html>
<html>
	<head>
		<script src="js/jquery-3.6.1.min.js"></script>
		<script type="text/javascript">
			$(function() {
				$("#btn").click(function() {
					var parents = $("span").parents()
						.map(function() {
							return this.tagName;
						})
						.get().join(",");
					alert("span元素的所有祖先元素为:" + parents.toLowerCase());
				});
			})
		</script>
	</head>
	<body>
		<div>
			<p><strong><span>jQuery入门教程</span></strong></p>
		</div>
		<input id="btn" type="button" value="获取" />
	</body>
</html>
登入後複製

效果如下:2-jquery尋找父級的方法有哪些

#方法三:parentsUntil( )

parentsUntil()方法是對parents()方法的一個補充,它可以找出所有指定範圍的祖先元素,相當於在parents()方法傳回集合中截取部分祖先元素。

語法:

$(selector).parentsUntil(expression)
登入後複製
jquery尋找父級的方法有哪些說明:參數expression表示jQuery選擇器表達式字串,用來過濾祖先元素。當參數省略時,則選擇所有的祖先元素。如果參數不省略,則選擇符合條件的祖先元素。

參數selector表示jQuery選擇器表達式字串,用來決定範圍的祖先元素。此參數為可選,如果省略,則將符合所有祖先元素,這一點跟parents()方法查找結果是一樣的。

<!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="js/jquery-3.6.1.min.js"></script>
<script>
$(document).ready(function(){
	$("span").parentsUntil("div").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>

<!-- 在这个例子中,我们选择在span和div元素之间的所有祖先元素。 -->
</html>
登入後複製

    方法4:closest()
  • closest() 方法傳回被選元素的第一個祖先元素。
  • 從目前元素開始
  • 沿著DOM 樹往上遍歷,並傳回符合所傳遞的表達式的第一個單一祖先

傳回包含零個或一個元素的jQuery 物件

jquery尋找父級的方法有哪些#語法:

$(selector).closest(expression)
登入後複製

範例:傳回 的第一個父元素,是一個

  • 元素:
    <!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="js/jquery-3.6.1.min.js"></script>
    <script>
    $(document).ready(function(){
    	$("span").closest("li").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>
    登入後複製
    #######【推薦學習:###javascript影片教學###】###

    以上是jquery尋找父級的方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

  • 來源:php.cn
    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板