직접 선택자로 한 엘리먼트 대상을 잡고 뒤에 메서드로 선택한 요소의 인접 요소들을 가져오는 방법
여기서 인접 요소들이란 부모,형제,자식 요소 등을 포함한다.
우리 실생활과 같이 조부모는 할아버지,할머니 부모는 아버지,어머니 자식은 본인을 포함한 형제 자매가 된다. 이를 HTML 의 요소 세계에도 그대로 적용한 것이 부모,형제,자식 요소이다.
<ul>
<li>인접 선택자 1
<ul>
<li>인접 선택자 2</li>
<li>인접 선택자 3</li>
<li>인접 선택자 4</li>
</ul>
</li>
<li> 인접 선택자 5
<ul>
<li>인접 선택자 6</li>
<li>인접 선택자 7</li>
<li>인접 선택자 8</li>
</ul>
</li>
</ul>
이 코드에서 인접선택자 1은 인접선택자 2,3,4의 조부모가 되는거고 2 번째줄<li >안의 <ul>은 인접선택자 2,3,4의 부모가 되는거다.
순번 | 선택자 종류 | 설명 | 사용법 |
---|---|---|---|
1 | 부모 요소 선택자 | 선택한 요소의 부모를 선택한다. | $('요소').parent() |
2 | 상위 요소 선택자 | 선택한 요소의 상위 요소를 선택한다. 여기서 상위 요소란, 부모 보다 더 상위에 있는 요소들을 뜻 한다. | $('요소').parents() |
3 | 자식 요소 선택자 | 선택한 "요소" 아래의 지정한 "자식 요소" 를 선택한다. | $('요소' > '자식 요소') |
4 | 자식 요소들 선택자 | 선택한 요소의 모든 자식 요소를 선택한다. | $('요소').children() |
5 | 이전 요소 선택자 | 선택한 요소의 이전 요소를 선택한다. 형제 관계에만 사용되므로, 형 요소 선택자라고도 한다. | $('요소').prev() |
6 | 이전 요소들 선택자 | 선택한 요소 이전의 모든 요소를 선택한다. | $('요소').prevAll() |
7 | 다음 요소 선택자 | 선택한 요소의 다음 요소를 선택한다. 형제 관계에만 사용되므로, 동생 요소 선택자라고도 한다. | $('요소').next() |
8 | 다음 요소들 선택자 | 선택한 요소 다음의 모든 요소를 선택한다. | $('요소').nextAll() |
9 | 전체 형제 요소들 선택자 | 지정한 요소의 형제 요소모두를 선택한다. (자기 자신은 포함되지 않는다.) | $('요소').siblings() |
주 사용 태그는 목록 태그인 <ul>,<li>이다. temp_main이라는 클래스를 사용하는 최상위 <ul>태그안에 각각 <li>,<ul> 자식들이 있다.
$('선택자').parent();
$('.temp3').parent().css('color','red');
.parent() 메서드는 무조건 자기부모만 선택된다. 인자안에 부모보다 더 상위 부모를 넣으면 적용되지 않는다. $('temp3')의 형제들까지 모두 color가 변한이유는 css의 color속성을 부모로부터 상속받기 때문이다.
$('선택자').parents();
$('.temp3').parents().css('color','red');
.parents() 안에 인자를 안넣게 되면 모든 조상을 다 선택한다.
.parents() 안에 인자를 넣으면 조상 요소중 인자값을 선택하게 된다.
$('부모요소 > 자식요소')
$('.temp_sub1 > .temp2').css({backgroundColor : 'yellow'});
$("요소").children()
$("요소").children("자식 요소명")
$('.temp_sub1').children('.temp2').css({backgroundColor : 'yellow'});
.children() 무조건 직계 자식요소를 선택.
.children() 안에 인자를 넣게되면$('부모요소').children('직계자식요소')
직계 특정한 자식만 선택
$("요소").prev()
<ul>
<li>인접 선택자 1
<ul>
<li>인접 선택자 2</li>
<li>인접 선택자 3</li>
<li>인접 선택자 4</li>
</ul>
</li>
<li> 인접 선택자 5
<ul>
<li>인접 선택자 6</li>
<li>인접 선택자 7</li>
<li>인접 선택자 8</li>
</ul>
</li>
</ul>
$('.temp2').prev().css({backgroundColor : 'yellow'});
$("요소").next()
$('.temp2').prev().css({backgroundColor : 'yellow'});
$("요소").siblings()
$('.temp2').siblings().css('color','red');
// 이 경우 .temp2를 제외한 모든 형제들을 선택
$('.temp2').siblings('.temp3').css('color','red');
// 이경우 .temp2를 제외한 .temp3만 선택된다.