jQuery parents() 方法
實例
返回 <span> 的所有祖先元素:
$(document).ready(function(){
$("span").parents().css({"({"color":"red","border":"2px solid red"});
});
$("span").parents().css({"({"color":"red","border":"2px solid red"});
});
Result:
body (great-great-grandparent)
div (great-grandparent)
- ul (grandparent)
- li (direct parent) span
定義和用法
parents() 方法返回被選元素的所有祖先元素。
祖先是父、祖父、曾祖父,依此類推。
DOM 樹:該方法從父元素向上遍曆 DOM 元素的祖先,直至文檔根元素的所有路徑(<html>)。
注意:如果 filter 參數為空,該方法將從直接父元素直至 <body> 和 <html> 的所有路徑中選取元素集合中的所有祖先。因此傳遞一個縮小搜索結果範圍的選擇器運算式是非常有用的。
該方法與 closest() 都是向上遍曆 DOM 樹,不同點是:
parents()
- 從父元素開始
- 沿 DOM 樹向上遍曆,並返回匹配所傳遞的運算式的所有祖先
- 返回包含零個、一個或多個元素的 jQuery 對象
closest()
- 從當前元素開始
- 沿 DOM 樹向上遍曆,並返回匹配所傳遞的運算式的第一個祖先
- 返回包含零個或一個元素的 jQuery 對象
其他相關方法:
- parent() - 返回被選元素的直接父元素
- parentsUntil() - 返回兩個給定參數之間的所有祖先元素
語法
$(selector).parents(filter)
參數 | 描述 |
---|---|
filter | 可選。規定縮小搜索祖先元素範圍的選擇器運算式。 注意:如需返回多個祖先,請使用逗號分隔每個運算式。 |

更多實例
縮小搜索範圍
如何使用 filter 參數來返回 <span> 的所有祖先中的 <ul> 元素。
返回多個祖先
如何使用 filter 參數來返回 <span> 的所有祖先中的 <li> 和 <div> 元素。
演示 <span> 元素的祖先。