[jQuery][Selectors] Hierarchy
-요약설명
- A > B : 자손 선택자 - A태그의 자식인 모든 B태그를 선택합니다.
- A B : 하위 선택자 - A태그의 자손인 모든 B태그를 선택합니다.
- A + B : 인접 형제 선택자 - A요소로 바로 뒤의 B요소를 선택합니다. A와 B사이에 다른 요소가 있으면 선택되지 않습니다.
- A ~ B : 일반 형제 선택자 - A태그 뒤의 모든 B 요소를 선택합니다. 형제, 자식까지 포함이며 A태그의 앞에있거나 부모태그는 선택되지 않습니다.
-심화설명
· A > B 요소
태그들이 포함 관계를 가질 때 포함하는 요소를 부모 요소, 포함 되는 요소를 자식요소라고 합니다. 부모 요소로 A 선택자를 잡앗을때 모든 B태그는 하위 서택자가 됩니다. 하지만 " > "의 경우 부모의 바로 아래 즉 직계자식요소에만 적용됩니다. 예제와 같이 자식의 자식들을 많이 만들어 놓았는데 빨간색 border가 적용된건 직계 자식들만 적용되었고 자손?이라는 글씨 등 직계자식이 아닌 요소들은 빨간색 보더가 생성되지 않은 부분을 확인할 수 있습니다.
예제
결과
· A B 요소
A > B 선택자와 다르게 A (띄어쓰기) B 선택자는 A의 부모요소의 모든 B 요소를 선택하는 것입니다. 아래 예제에서 보면 위의 예제에서완 다르게 <style>태그 안에서 .A div로 선택 된걸 확인 할 수 있으며, 결과에서 보시면 모든 div에 빨간색 박스가 생성된걸 확인 할 수 있습니다 . 아래 I클래스와 J클래스는 A부모요소의 자식이 아니기 때문에 빨간색 박스가 가지 않은 부분을 확인할 수 있습니다.
예제
결과
· A + B 요소
같은 부모 요소를 가지는 요소들을 형제의 관계라고 부릅니다. 이 때 먼저나오는 요소를 형 요소 나중에 나오는 요소를 동생 요소라고 하는데 HTML태그상 위에 있는것을 말합니다. A + B요소는 인접 형제 선택자라고 부르며 형요소를 바로 뒤따르는 동생요소를 선택할 때 사용합니다. 아래 예제에서 보면 알 수 있듯이 B클래스 다음 바로 C클래스가 나올시 C클래스를 선택하는 것입니다. 만약 .C+div를 했다면 D클래스만 선택 되었을 것입니다. 또한 예제2 에서 보면 B와 D를 + 셀렉터로 연계 시켰으나 중간에 .C의 요소가 있어 아무것도 적용되지 않은 것을 확인 할 수 있습니다. ※예제에서는 B클래스와 C클래스를 사용하였습니다. A, B 요소는 예시로 둔 변수 입니다.
예제1
결과
예제2
결과
· A ~ B
A ~ B 의 요소는 일반 형제 선택자라고 부르며, A 를 뒤따르는 형제요소들을 선택하는 것입니다. 아래 예제에서 보면 .C를 선택하고 ~ div를 셀렉터로 두었습니다 결과는 B는 포함이 되지 않고 C 를 뒤따르는 D, E, F 클래스가 선택되었습니다. G의 경우는 color가 상속되었지만 포함이 되진 않은 경우입니다.
예제
결과
'Rich Venveis의 연구노트 > jQuery' 카테고리의 다른 글
[jQuery][Selectors] Basic (0) | 2018.03.16 |
---|---|
jQuery란 무엇인가? (0) | 2018.03.10 |