首頁  >  文章  >  web前端  >  jquery中closest方法怎麼用

jquery中closest方法怎麼用

WBOY
WBOY原創
2022-05-09 11:35:063105瀏覽

在jquery中,closest方法用於返回被選元素的第一個祖先元素;該函數可從元素本身開始逐級向上匹配,並且返回最先匹配的元素,若沒有匹配到則傳回一個空的jQuery對象,語法為「元素對象.closest(匹配元素的選擇器表達式)」。

jquery中closest方法怎麼用

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

jquery中closest方法怎麼用

closest() 方法傳回被選元素的第一個祖先元素。

祖先是父、祖父、曾祖父,依此類推。

從目前元素開始,沿著DOM 樹向上遍歷,並傳回符合所傳遞的表達式的第一個單一祖先,傳回包含零個或一個元素的jQuery 物件

closest( )函數會先檢查當前元素是否匹配,如果匹配則直接傳回元素本身。如果不符合則向上尋找父元素,一層一層往上,直到找到符合選擇器的元素。如果什麼都沒找到則回傳一個空的jQuery物件。

語法為:

傳回被選元素的第一個祖先元素:

$(selector).closest(filter)

傳回使用DOM context 尋找的DOM 樹中的第一個祖先元素:

$(selector).closest(filter,context)

filter 必需。規定縮小搜尋祖先元素範圍的選擇器表達式、元素或 jQuery 物件。

context 可選。在其內可以找到匹配元素的 DOM 元素。

範例如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>123</title>
<style>
.ancestors *{ 
display: block;
border: 2px solid lightgrey;
color: lightgrey;
padding: 5px;
margin: 15px;
}
</style>
<script src="js/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>
<!-- 在这个例子中, $("span").closest("ul") 指我们查找一个span元素的第一个ul祖先。最靠近span的祖先是li,但是由于查到一个div,jQuery 跳过li元素继续查找下一个祖先,直到它找出我们要查找的ul.假如我们用parents() 方法替代,它将返回ul的祖先 。 --> 
</html>

輸出結果:

jquery中closest方法怎麼用

#相關影片教學推薦:jQuery影片教學

以上是jquery中closest方法怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn