강좌 & 팁
[JQuery] nth-child
이번 시간에는 nth-child를 사용하여 자식 요소를 찾는 방법을 알아보도록 하겠습니다.
자식 요소란, 부모가 있으면 그 아래 포함되어 있는 요소를 뜻합니다.
1. 자식 요소
아래와 같이 테이블이 있습니다. table 기준으로 자식 요소는 tr 이 되고, tr 기준으로 td가 자식 요소가 됩니다.
<table>
자식 요소에 대해서 알았으니, 어떤 경우 사용되는지 알아보도록 하겠습니다. 위와 같이 표를 만들었습니다.
표를 예쁘게 표시하기 위해서 홀수 줄에 배경색을 넣고 싶습니다. 간단하게 <tr> 태그 안에 <tr bgcolor="#CCCCCC"> 라고 넣어도 됩니다.
하지만, 가로 줄이 늘어나거나 지울 경우, 배경을 넣은 줄이 섞이게 됩니다.
이렇게 하나하나 스타일을 정하게 되면 번거로운 경우가 있습니다. 이런 경우에 자식 요소를 찾아주는 nth-child를 사용하면 편리하게 사용할 수 있습니다.
2. nth-child
html 소스를 조금 자세히 적어보았습니다.
<html>
이제 nth-child를 사용해서 원하는 위치의 가로 줄에 배경색을 넣어보도록 하겠습니다.
사용방법은 지난 시간에 배운 ID, class, element 뒤에 :nth-child(번호) 라고 입력해주면 됩니다. table 안, 수많은 tr 중에 첫 번째 요소를 선택해서 배경색을 넣어보도록 하겠습니다.
스크립트 안에 아래와 같이 :nth-child(1)을 사용해서 넣어줍니다.
$(function() {
그럼 아래와 같이 1번째 줄에 배경색이 들어갔습니다.
nth-child(1) 대신 다른 숫자를 입력하면 그 번호에 해당되는 가로 줄의 색이 변경됩니다.
3. nth-child 여러줄
위에선 번호에 해당되는 한 개의 가로줄 색을 변경했지만, 홀수, 짝수, 또는 4번에 한번씩과 같이 특정 조건에서 변경하는 방법을 알아보도록 하겠습니다.
홀수 가로 줄만 표시하는 경우, odd를 사용하면 됩니다.
$(function() {
짝수 줄만 표시하는 경우, even를 사용하면 됩니다.
$(function() {
그리고 특정 조건으로 하는 경우에는 n을 입력해서 사용합니다. 예를 들어 3줄마다 배경을 넣고 싶다고 하는 경우엔, 3n + 1 이라고 사용하면 됩니다. 3n 은 3번째마다 적용한다는 말입니다. 하지만 시작이 0이라서 첫 번째 줄부터 적용이 되지 않습니다.
$(function() {
^ㅇ^!!!
nth-child 명령 대신 eq라고 사용할 수도 있습니다.
|