在jquery中,closest方法用於返回被選元素的第一個祖先元素;該函數可從元素本身開始逐級向上匹配,並且返回最先匹配的元素,若沒有匹配到則傳回一個空的jQuery對象,語法為「元素對象.closest(匹配元素的選擇器表達式)」。
本教學操作環境:windows10系統、jquery3.2.1版本、Dell G3電腦。
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影片教學
以上是jquery中closest方法怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!