Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 코딩테스트
- GoingBus
- 자바
- JavaScript
- 스프링 빈
- 코테
- Java
- toCharArray
- 리눅스마스터 3과목
- 문자열
- 카카오
- Linux
- 백준 java
- 연습문제
- map
- 백준 javascript
- 스프링 컨테이너
- 프로그래머스
- java 백준 1차원 배열
- 월간코드챌린지
- Kotlin
- 리눅스마스터 1급 정리
- Memoir
- 개발자 회고록
- 리눅스마스터1급
- 리눅스
- 고잉버스
- 반복문
- 자바스크립트 코딩의 기술
- 명령어
Archives
- Today
- Total
hoon's bLog
jQuery parent sibling children element 부모 형제 자식 요소 탐색 본문
IT/HTML, jQuery, Ajax
jQuery parent sibling children element 부모 형제 자식 요소 탐색
개발한기발자 2023. 7. 10. 09:03반응형
조상 요소의 탐색
트리 탐색(tree traversing) : 특정 요소로부터 다른 요소들과의 관계를 통해 선택하길 원하는 요소까지 DOM 트리를 검색해 나아가는 과정
조상(ancestor) 요소의 탐색
DOM 트리에서 특정 요소의 부모(parent) 요소를 포함한 상위의 요소를 탐색하기 위한 메서드
- .parent() : 선택한 요소의 부모(parent) 요소를 선택
- 선택자를 인수로 전달하여, 전달받은 선택자에 해당하는 부모 요소만을 선택 가능
- .css() : 선택한 요소에 인수로 전달받은 스타일을 설정
$(function() {
$("button").on("click", function() {
$("p").parent() // <p>요소의 부모 요소를 선택함.
.css({"border": "2px solid red"}); // 해당 요소의 CSS 스타일을 변경
});
});
- .parentsUntil() : 선택한 요소의 조상 요소 중에서 전달받은 선택자에 해당하는 요소 바로 이전까지의 요소만을 모두 선택
- 이때 선택자를 인수로 전달하지 않으면, .parent() 메서드와 같이 선택한 요소의 조상 요소를 모두 선택
$(function() {
$("button").on("click", function() {
// <p>요소의 조상 요소 중에서 첫 번째 <div>요소의 바로 이전까지의 요소를 모두 선택함.
$("p").parentsUntil("div")
.css({"border": "2px solid red"}); // 해당 요소의 CSS 스타일을 변경
});
});
- .closest() : 자신을 포함한 조상 요소 중에서 전달받은 선택자에 해당하는 요소의 집합에서 가장 첫 번째 요소를 선택
- 이 메서드가 요소의 집합을 구하는 방식은 .parents() 메서드와 비슷하지만, 해당 요소의 조상 요소뿐만 아니라 해당 요소 자신까지도 검사하는 점이 다름
$(function() {
$("#parents").on("click", function() {
// 아이디가 "origin"인 요소의 조상 요소 중에서 <div>요소를 모두 선택함.
$("#origin").parents("div")
.css({"border": "2px solid red"});
});
$("#closest").on("click", function() {
// 아이디가 "origin"인 요소 자신과 조상 요소 중에서 첫 번째 <div>요소를 선택함.
$("#origin").closest("div")
.css({"border": "2px solid green"});
});
});
형제(sibling) 요소의 탐색
DOM 트리에서 특정 요소의 형제(sibling) 요소를 탐색
- .siblings() : 선택한 요소의 형제(sibling) 요소 중에서 지정한 선택자에 해당하는 요소를 모두 선택
- .next() : 선택한 요소의 바로 다음에 위치한 형제 요소를 선택
- .nextAll() : 선택한 요소의 다음에 위치한 형제 요소를 모두 선택
- 이때 선택자를 인수로 전달하여, 전달받은 선택자에 해당하는 형제 요소만을 선택 가능
- .nextUntil() : 선택한 요소의 형제 요소 중에서 전달받은 선택자에 해당하는 요소 바로 이전까지의 요소만을 모두 선택
- 이때 선택자를 인수로 전달하지 않으면, .nextAll() 메서드와 같이 선택한 요소의 다음에 위치한 형제 요소를 모두 선택
- .prev(), .prevAll(), .prevUntil()
- 이 메서드들은 각각 .next(), .nextAll(), .nextUntil() 메서드와 정반대로 동작하여 요소들을 선택
$(function() {
$("button").on("click", function() {
$("h4").siblings() // <h4>요소의 형제 요소를 모두 선택함.
.css({"border": "2px solid red"}); // 해당 요소의 CSS 스타일을 변경
});
});
$(function() {
$("button").on("click", function() {
$("h4").next() // <h4>요소의 바로 다음 형제 요소를 선택함.
.css({"border": "2px solid red"}); // 해당 요소의 CSS 스타일을 변경
});
});
$(function() {
$("button").on("click", function() {
$("h4").nextAll() // <h4>요소의 다음에 있는 형제 요소를 모두 선택함.
.css({"border": "2px solid red"}); // 해당 요소의 CSS 스타일을 변경
});
});
$(function() {
$("button").on("click", function() {
// <h4>요소의 형제 요소 중에서 첫 번째 <p>요소의 바로 이전까지의 모든 요소를 선택함.
$("h4").nextUntil("p")
.css({"border": "2px solid red"}); // 해당 요소의 CSS 스타일을 변경
});
});
자손(descendant) 요소의 탐색
DOM 트리에서 특정 요소의 자손(descendant) 요소를 탐색하기 위한 메서드
- .children() : 선택한 요소의 자식(child) 요소를 모두 선택
- 이때 선택자를 인수로 전달하여, 전달받은 선택자에 해당하는 자식 요소만을 선택할 수도 있습니다.
- .find() : 선택한 요소의 자손(descendant) 요소 중에서 전달받은 선택자에 해당하는 자손 요소를 모두 선택
- 이때 별표("*")를 인수로 전달하여, 선택한 요소의 자손 요소를 모두 선택할 수도 있습니다.
$(function() {
$("button").on("click", function() {
$("ul").children() // <ul>요소의 자식 요소를 모두 선택함.
.css({"border": "2px solid red"}); // 해당 요소의 CSS 스타일을 변경
});
});
$(function() {
$("button").on("click", function() {
$("li").find("*") // 각 <li>요소의 자손 요소을 모두 선택함.
.css({"border": "2px solid red"}); // 해당 요소의 CSS 스타일을 변경
});
});
728x90
반응형
'IT > HTML, jQuery, Ajax' 카테고리의 다른 글
jQuery element area 요소의 영역 (2) | 2023.07.12 |
---|---|
jQuery DOM method 기타 탐색 메서드, 필터링(filtering) 메서드 (0) | 2023.07.11 |
jQuery element 요소 복사 및 삭제 (4) | 2023.07.07 |
jQuery 요소 Element 선택 및 선택자 Selector 사용 (0) | 2023.07.06 |
jQuery $ 문법 및 사용법 jQuery object (0) | 2023.07.05 |