jQuery closest() 方法
實例
返回<span> 的第一個祖先元素,是一個<ul> 元素:
$(document).ready(function(){
$("span").closest("ul").css({"color":"red","border":"2px solid red"});
});
$("span").closest("ul").css({"color":"red","border":"2px solid red"});
});
結果:
body (great-great-grandparent)
div (great-grandparent)
- ul (second ancestor - second grandparent)
- li (direct parent) span
- ul (first ancestor - first grandparent)
嘗試一下»
定義和用法
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> 元素。