별의 공부 블로그 🧑🏻‍💻
728x90
728x170

* 탐색 선택자

- 탐색 선택자를 사용하면 직접 선택자를 이용해 선택한 요소 중 원하는 요소를 한 번 더 탐색해서 정확히 선택할 수 있음.

- 탐색 선태자는 선택한 요소 중 요소의 위치를 기준으로 선택하는 위치 탐색 선택자, 요소의 지정된 속성을 기준으로 선택하는 속성 탐색 선택자가 있음.

- 그 외의 탐색 선택자로 요소 내에서 콘텐츠의 포함 여부를 따져 선택하는 콘텐츠 탐색 선택자, 선택한 요소를 한 번 더 필터링할 수 있는 필터링 선택자 등이 있음.

 

[위치 탐색 선택자]

 

- 기본 선택자로 선택한 요소 중 요소의 위치 또는 인덱스 번호를 이용하여 특정 요소를 좀 더 정확히 선택.

- 위치 탐색 선택자 종류

종류

사용법

설명

 $("요소 선택:first")

 $("요소 선택").first()

 $("li:first")

 $("li").first()

 전체 <li> 요소 중 첫 번째 요소만 선택

 $("요소 선택:last")

 $("요소 선택").last()

 $("li:last")

 $("li").last()

 전체 <li> 요소 중 마지막 요소만 선택

 $("요소 선택:odd")

 $("li:odd")

 <li> 요소 무리 중 짝수 번째(홀수 인덱스) 요소만 선택

 $("요소 선택:even")

 $("li:even")

 <li> 요소 무리 중 홀수 번째(짝수 인덱스) 요소만 선택

 $("요소 선택:first-of-type")

 $("li:first-of-type")

 <li> 요소 무리 중 첫 번째 요소만 선택

 $("요소 선택:last-of-type")

 $("li:last-of-type")

 <li> 요소 무리 중 마지막 요소만 선택

 $("요소 선택:nth-child(숫자)")

 $("li:nth-child(3)")

 <li> 요소 무리 중 세 번째 요소만 선택

 $("요소 선택:nth-child(숫자n)")

 $("li:nth-child(3n")

 <li> 요소 무리 중 3의 배수 번째에 있는 요소만 선택

 $("요소 선택"nth-last-of-type(숫자)")

 $("li:nth-last-of-type(2)")

 <li> 요소 무리 중 마지막 위치로부터 두 번째에 있는 요소만 선택

 $("요소 선택:only-child")

 $("li:only-child")

 부모 요소 내에 <li> 요소가 1개뿐인 <li> 요소만 선택

 $("요소 선택:eq(index)")

 $("요소 선택").eq(index)

 $("li:eq(2)")

 $("li").eq(2)

 <li> 요소 중 인덱스 2에 참조하는 요소를 불러옴.

 $("요소 선택:gt(index)")

 $("li:gt(1)")

 <li> 요소 중 인댁스 1보다 큰 인덱스가 참조하는 요소를 불러옴.

 $("요소 선택:lt(index)")

 $("li:lt(1)")

 <li> 요소 중 인덱스 1보다 작은 인덱스가 참조하는 요소를 불러옴.

 $("요소 선택").slice(index)

 $("li").slice(2)

 <li> 요소 중 인덱스 2부터 참조하는 요소를 불러옴.

 

 

1) first / last 선택자

- first 선택자는 선택된 요소 중 첫 번째 요소만 선택

- last 선택자는 선택된 요소 중 마지막 요소만 선택

- 예)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!-- 문단 태그 영역 -->
<body>
    <h1>탐색 선택자</h1>
    <ul id="menu">
        <li>내용1</li>
        <li>내용2</li>
        <li>내용3</li>
    </ul>
</body>
 
<!-- 선택자 영역 -->
<script type="text/javascript">
    $(function(){
        $("#menu li:first").css("background-color""yellow");
        // id="menu"인 요소의 하위 <li> 태그 중에 첫 번째 요소만 배경에 노란색을 적용함.
         $("#menu li:last").css("background-color""pink");
         // id="menu"인 요소의 하위 <li> 태그 중에 마지막 요소만 배경에 분홍색을 적용함.
    });
</script>
cs

 

 

2) even / odd 선택자

- even은 선택한 요소 중 홀수 번째(짝수 인덱스) 요소만 선택해 옴.

- odd는 짝수 번째(홀수 인덱스) 요소만 선택해 옴.

- 예)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!-- 문단 태그 영역 -->
<body>
    <h1>탐색 선택자</h1>
    <ul id="menu">
        <li>내용1</li>
        <li>내용2</li>
        <li>내용3</li>
        <li>내용4</li>
    </ul>
</body>
 
<!-- 선택자 영역 -->
<script type="text/javascript">
    $(function(){
        $("#menu li:even").css("background-color""yellow");
        // id="menu"인 요소의 하위 <li> 태그 중 홀수 번째 요소에만 배경에 노란색을 적용함.
         $("#menu li:odd").css("background-color""pink");
         // id="menu"인 요소의 하위 <li> 태그 중 짝수 번째 요소에만 배경에 분홍색을 적용함.
    });
</script>
cs

 

 

3) first-of-type / last-of-type 선택자

- first-of-type 선택자는 선택한 요소의 무리 중 첫 번째 요소만 선택.

- last-of-type 선택자는 선택한 요소의 무리 중 마지에 위치한 요소만 선택

- 예)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!-- 문단 태그 영역 -->
<body>
    <h1>탐색 선택자</h1>
    <ul id>
        <li>내용1</li>
        <li>내용2</li>
        <li>내용3</li>
    </ul>
    <ul>
        <li>내용4</li>
        <li>내용5</li>
        <li>내용6</li>
    </ul>
</body>
 
<!-- 선택자 영역 -->
<script type="text/javascript">
    $(function(){
        $("li:first-of-type").css("background-color""yellow");
        // <li> 태그의 무리 중 각 첫 번째 <li> 태그의 배경에 노란색을 적용함. (내용1, 내용4)
         $("li:last-of-type").css("background-color""pink");
         // <li> 태그의 무리 중 각 마지막 <li> 태그의 배경에 분홍색을 적용함. (내용3, 내용6)
    });
</script>
cs

 

4) nth-child(숫자n) / nth-last-of-type(숫자) 선택자

- nth-child(숫자n) 선택자는 선택한 요소의 무리 중 지정한 숫자(배수) 번째의 요소를 선택.

- nth-last-of-type(숫자) 선택자는 선택한 요소의 무리 중 마지막에서 지정한 숫자 번째의 요소를 선택.

- 예)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!-- 문단 태그 영역 -->
<body>
    <h1>탐색 선택자</h1>
    <ul>
        <li>내용1</li>
        <li>내용2</li>  <!--li:nth-last-of-type(2) 사용 시 선택됨. -->
        <li>내용3</li>  <!--li:nth-child(3n) 사용 시 선택됨. -->
    </ul>
    <ul>
        <li>내용4</li>
        <li>내용5</li>  <!--li:nth-last-of-type(2) 사용 시 선택됨. -->
        <li>내용6</li>  <!--li:nth-child(3n) 사용 시 선택됨. -->
    </ul>
</body>
 
<!-- 선택자 영역 -->
<script type="text/javascript">
    $(function(){
        $("li:nth-child(3n)").css("background-color""yellow");
        // 모든 <li> 태그의 무리 중 각 3의 배수 번째의 <li> 태그에 노란색 배경을 적용함.
         $("li:nth-last-of-type(2)").css("background-color""pink");
        // 모든 <li> 태그의 무리 중 각 마지막 두 번째 <li> 태그에 분홍색 배경을 적용함.
    });
</script>
cs

 

5) only-child / slice(index) 선택자

- only-child 선택자는 지정한 요소가 부모 요소에 오직 한 개만 존재할 때 선택.

- slice(index) 선택자는 선택한 요소에 지정한 인덱스부터 참조하는 요소만 선택

- 예)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!-- 문단 태그 영역 -->
<body>
    <h1>탐색 선택자</h1>
    <ul id="first_list">
        <li>내용1</li>
        <li>내용2</li>  
        <li>내용3</li>  
        <li>내용4</li>
    </ul>
    <ul>
        <li>내용5</li>
    </ul>
</body>
 
<!-- 선택자 영역 -->
<script type="text/javascript">
    $(function(){
        $("li:only-child").css("background-color""yellow");
        // 부모 요소에 하나만 있는 <li> 태그의 배경에 노란색을 적용함.
        $("#first_list li").slice(2).css("background-color""pink");
        // 선택된 <li> 태그 중 인덱스가 2 이상인 요소에만 배경에 분홍색을 적용함.
    });
</script>
cs

 

 

6) eq(index) / lt(index) / gt(index) 선택자

- eq(index) 선택자는 선택한 요소 중 지정한 인덱스가 참조하는 요소만 선택.

- lit(index) 선택자는 선택한 요소 중 지정한 인덱스보다 작은(lt:Less Than) 인덱스를 참조하는 요소만 선택.

- gt(index) 선택자는 선택한 요소 중 지정한 인덱스보다 큰(gt:Greater Than) 인덱스를 참조하는 요소만 선택.

- 예)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!-- 문단 태그 영역 -->
<body>
    <h1>탐색 선택자</h1>
    <ul id="first_list">
        <li>내용1</li>
        <li>내용2</li>  
        <li>내용3</li>  
        <li>내용4</li>
        <li>내용5</li>
        <li>내용6</li>
    </ul>
</body>
 
<!-- 선택자 영역 -->
<script type="text/javascript">
    $(function(){
        $("li:eq(3)").css("background-color""yellow");
        // index가 3인 <li> 태그의 배경에 노란색을 적용함.
        $("li:lt(3)").css("background-color""pink");
        // index가 3보다 작은 <li> 태그의 배경에 분홍색을 적용함.
        $("li:gt(3)").css("background-color""aqua");
        // index가 3보다 큰 <li> 태그의 배경에 아쿠아색을 적용함.
    });
</script>
cs

 

 

내용 출처 : Do It! 자바스크립트+제이쿼리 입문 (정인용 지음, 이지스퍼블리싱)

728x90
그리드형(광고전용)
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖