jQuery 순회 - 조상
조상은 아버지, 할아버지, 증조할아버지 등입니다.
jQuery를 사용하면 DOM 트리를 탐색하여 요소의 조상을 찾을 수 있습니다.
DOM 트리 탐색
다음 jQuery 메서드는 DOM 트리 탐색에 유용합니다.
parent()
parents()
parent 까지()
jQuery parent() 메서드
parent() 메서드는 선택한 요소의 직접 상위 요소를 반환합니다.
이 방법은 DOM 트리를 한 수준 위로만 탐색합니다.
다음 예에서는 각 <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").parent().css({"color":"red","border":"2px solid red"}); }); </script> </head> <body> <div class="ancestors"> <div style="width:300px;">div (曾祖父元素) <ul>ul (祖父元素) <li>li (父元素) <span>span</span> </li> </ul> </div> <div style="width:300px;">div (祖父元素) <p>p (父元素) <span>span</span> </p> </div> </div> </body> </html>
프로그램을 실행하여 사용해 보세요.
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":"red","border":"2px solid red"}); }); </script> </head> <body class="ancestors">body (曾曾祖父元素) <div style="width:300px;">div (曾祖父元素) <ul>ul (祖父元素) <li>li (父元素) <span>span</span> </li> </ul> </div> </body> </html>
프로그램을 실행하여 사용해 보세요.
선택적 매개변수를 사용하여 상위 요소 검색을 필터링할 수도 있습니다.
다음 예에서는 <ul> 요소인 모든 <span> 요소의 모든 상위 항목을 반환합니다.
<!DOCTYPE html> <html> <head> <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("ul").css({"color":"red","border":"2px solid red"}); }); </script> </head> <body class="ancestors">body (great-great-grandparent) <div style="width:500px;">div (great-grandparent) <ul>ul (grandparent) <li>li (direct parent) <span>span</span> </li> </ul> </div> </body> </html>
프로그램을 실행하여 사용해 보세요.
jQuery parentUntil() 메서드
parentsUntil() 메소드 주어진 두 요소 사이의 모든 상위 요소를 반환합니다.
다음 예에서는 <span> 및 <div> 요소 사이의 모든 상위 요소를 반환합니다.
<!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").parentsUntil("div").css({"color":"red","border":"2px solid red"}); }); </script> </head> <body class="ancestors"> body (曾曾祖父元素) <div style="width:500px;">div (曾祖父元素) <ul>ul (祖父元素) <li>li (父元素) <span>span</span> </li> </ul> </div> </body> </html>
프로그램을 실행하여 시도해 보세요.