jQuery closest() 方法
實例
返回 <span> 的第一個祖先元素,是一個 <ul> 元素:
$(document).ready(function(){
$("span").closest("ul").css({"color":"red","border":"2px solid red"});
});
定義和用法
closest() 方法返回被選元素的第一個祖先元素。
祖先是父、祖父、曾祖父,依此類推。
DOM 樹:該方法從當前元素向上遍曆,直至文檔根元素的所有路徑(<html>),來查找 DOM 元素的第一個祖先元素。
該方法與 parents() 類似,都是向上遍曆 DOM 樹,不同點是:
closest()
- 從當前元素開始
- 沿 DOM 樹向上遍曆,並返回匹配所傳遞的運算式的第一個單一祖先
- 返回包含零個或一個元素的 jQuery 對象
parents()
- 從父元素開始
- 沿 DOM 樹向上遍曆,並返回匹配所傳遞的運算式的所有祖先
- 返回包含零個、一個或多個元素的 jQuery 對象
其他相關方法:
- parent() - 返回被選元素的直接父元素
- parentsUntil() - 返回兩個給定參數之間的所有祖先元素
語法
返回被選元素的第一個祖先元素:
$(selector).closest(filter)
返回使用 DOM context 查找的 DOM 樹中的第一個祖先元素:
$(selector).closest(filter,context)
參數 | 描述 |
---|---|
filter | 必需。規定縮小搜索祖先元素範圍的選擇器運算式、元素或 jQuery 對象。 |
context | 可選。在其內可以找到匹配元素的 DOM 元素。 |

更多實例
返回 <span> 的第一個祖先元素,是一個 <span> 元素
因為該方法從當前元素開始,搜索 <span> 的第一個 <span>,將返回 <span>。
在 DOM 元素中作為 context 進行傳遞,以便搜索第一個祖先元素
使用兩個參數在 DOM 元素中作為 context 進行傳遞,以便搜索第一個 <ul> 元素。