jQuery 遍歷
什麼是遍歷?
jQuery 遍歷,意為"移動",用於根據其相對於其他元素的關係來"查找"(或選取)HTML 元素。以某項選擇開始,並沿著這個選擇移動,直到抵達您期望的元素為止。
下圖展示了一個家族樹。透過 jQuery 遍歷,您能夠從被選(目前的)元素開始,輕鬆地在家族樹中向上移動(祖先),向下移動(子孫),水平移動(同胞)。這種移動稱為對 DOM 進行遍歷。
<div> 元素是 <ul> 的父元素,同時也是其中所有內容的祖先。
<ul> 元素是<li> 元素的父元素,同時是<div> 的子元素
左邊的 <li> 元素是<span> ; 的父元素,<ul> 的子元素,同時是<div> 的後代。
<span> 元素是 <li> 的子元素,同時是 <ul> 和 <div> 的後代。
兩個 <li> 元素是同胞(擁有相同的父元素)。
右邊的 <li> 元素是 <b> 的父元素,<ul> 的子元素,同時是 <div> 的後代。
<b> 元素是右邊的 <li> 的子元素,同時是 <ul> 和 <div> 的後代。
溫馨提示:祖先是父、祖父、曾祖父等等。後代是子、孫、曾孫等等。同胞擁有相同的父。
jQuery 遍歷 - 祖先
祖先是父、祖父或曾祖父等等。
透過 jQuery,您能夠向上遍歷 DOM 樹,以查找元素的祖先。
向上遍歷DOM 樹
這些jQuery 方法很有用,它們用於向上遍歷DOM 樹:
parent()parents()parentsUntil()
jQuery parent() 方法
parent() 方法傳回被選元素的直接父元素。
此方法只會向上一層對 DOM 樹進行遍歷。
jQuery parents() 方法
parents() 方法傳回被選元素的所有祖先元素,它一路向上直到文檔的根元素(<html>)。
下面的範例傳回所有<span> 元素的所有祖先
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> .ancestors * { display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function(){ $("span").parents().css({"color":"yellow","border":"1px solid pink"}); }); </script> </head> <body class="ancestors">body (曾曾祖父元素) <div style="width:500px;">div (曾祖父元素) <ul>ul (祖父元素) <li>li (父元素) <span>span</span> </li> </ul> </div> </body> </html>
jQuery parentsUntil() 方法
parentsUntil () 方法傳回介於兩個給定元素之間的所有祖先元素。