본문 바로가기

웹언어/jQuery

[jQuery강좌] 5강 문서객체 필터(filter) 메서드 - 오쌤의 니가스터디

728x90
반응형

 

 

 

 

 

 

 

 

 

 

 

 

 

1. 제이쿼리 필터메서드

- 제이쿼리 필터메서드는 선택된 문서객체를 다시 재선택하는 메서드입니다.

 

 

 

1) 메서드 체이닝

- 객체선택 후 메서드 뒤에 또 메서드를 붙이는 것을 메서드 체이닝이라고 합니다.

 

## 문법

$('선택자').메서드명1().메서드명2();

- 대부분의 컴퓨터 언어는 특별하게 제어하는 구문이 없는 이상 FIFO(First In First Out)방식을 선택합니다.

- 그래서 먼저 쓴 코드 먼저 처리되고 나중에 쓴 태그 나중에 처리됩니다.

- 위의 문법에서는 메서드명1( )이 먼저 처리되고 메서드명2( )가 나중에 처리됩니다.

 

 

 

 

 

 

 

 

 

 

 

2) 필터메서드의 종류

- 제이쿼리 문서객체 필터메서드들은 문서객체를 선택 후 다시 재선택하는 메서드입니다.

- 필터메서드의 종류를 보도록 하겠습니다.

필터메서드 종류 설명
first( ) 선택된 문서객체 중 첫번째 객체를 재선택하는 메서드
last( ) 선택된 문서객체 중 마지막 객체를 재선택하는 메서드
eq(n) 선택된 문서객체 중 배열번호가 n번인 객체를 재선택하는 메서드
filter(기준) 선택된 문서객체 중 매개변수의 기준에 맞는 객체를 재선택하는 메서드
not(기준) 선택된 문서객체 중 매개변수의 기준이 아닌 것을 재선택하는 메서드
add('선택자') 선택된 문서객체와 매개변수의 선택자를 추가로 선택하는 메서드

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90

 

 

 

 

 

 

 

 

 

 

 

 

 

2. 제이쿼리 필터메서드 예제

 

1) first( ) 메서드

- 선택된 문서객체 중 첫번째 객체를 재선택하는 메서드입니다.

- 선택되었는지 확인을 위해   css() 메서드를 메서드체이닝하겠습니다.

 

## 문법

$('선택자').first();

 

 

## 코드 예시

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>제이쿼리 - 필터메서드</title>
        <script src="jquery-1.12.4.min.js"></script>
        <script>
            $(document).ready(function(){
                //메서드로 첫번째 요소만 선택
                $('h1').first().css('color','red');

                //선택자방식으로 첫번째 요소만 선택
                $('h1:first').css('textDecoration','underline');
            });
        </script>
    </head>
    <body>
        <h1>제목태그</h1>
        <h1>제목태그</h1>
        <h1>제목태그</h1>
        <h1>제목태그</h1>
        <h1>제목태그</h1>
    </body>
</html>

- 첫번째 코드는 메서드로 첫번째 요소를 선택한 것입니다.

- 두번째 코드는 선택자방식으로 첫번째 요소를 선택한 것입니다.

- 지금은 둘다 비슷해보이지만 추후 이벤트와 같이 사용될때는 메서드 방식을 많이 사용합니다.

- 하지만 둘다 잘 습득해두세요!

 

 

 

## 코드 결과

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2) last( ) 메서드

- 선택된 문서객체 중 마지막 객체를 재선택하는 메서드입니다.

- 선택되었는지 확인을 위해   css() 메서드를 메서드체이닝하겠습니다.

 

## 문법

$('선택자').last();

 

 

## 코드 예시

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>제이쿼리 - 필터메서드</title>
        <script src="jquery-1.12.4.min.js"></script>
        <script>
            $(document).ready(function(){
                //메서드로 마지막 요소만 선택
                $('h1').last().css('color','red');

                //선택자방식으로 마지막 요소만 선택
                $('h1:last').css('textDecoration','underline');
            });
        </script>
    </head>
    <body>
        <h1>제목태그</h1>
        <h1>제목태그</h1>
        <h1>제목태그</h1>
        <h1>제목태그</h1>
        <h1>제목태그</h1>
    </body>
</html>

- 첫번째 코드는 메서드로 마지막 요소를 선택한 것입니다.

- 두번째 코드는 선택자방식으로 마지막 요소를 선택한 것입니다.

- 지금은 둘다 비슷해보이지만 추후 이벤트와 같이 사용될때는 메서드 방식을 많이 사용합니다.

- 하지만 둘다 잘 습득해두세요!

 

 

 

## 코드 결과

 

 

 

 

 

 

 

 

 

3) eq( ) 메서드

- 선택된 문서객체 중 매개변수에 작성된 배열번호에 있는 객체를 재선택하는 메서드입니다.

- 선택되었는지 확인을 위해   css() 메서드를 메서드체이닝하겠습니다.

 

## 문법

$('선택자').eq(n);

 

 

## 코드 예시

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>제이쿼리 - 필터메서드</title>
        <script src="jquery-1.12.4.min.js"></script>
        <script>
            $(document).ready(function(){
                //메서드로 세번째 요소만 선택 - 배열번호는 0번부터 시작
                $('h1').eq(2).css('color','red');

                //선택자방식으로 세번째 요소만 선택
                $('h1:eq(2)').css('textDecoration','underline');
            });
        </script>
    </head>
    <body>
        <h1>제목태그</h1>
        <h1>제목태그</h1>
        <h1>제목태그</h1>
        <h1>제목태그</h1>
        <h1>제목태그</h1>
    </body>
</html>

- 첫번째 코드는 메서드로 세번째 배열된 요소를 선택한 것입니다.

- 두번째 코드는 선택자방식으로 세번째 배열된 요소를 선택한 것입니다.

- 지금은 둘다 비슷해보이지만 추후 이벤트와 같이 사용될때는 메서드 방식을 많이 사용합니다.

- 하지만 둘다 잘 습득해두세요!

 

 

 

## 코드 결과

 

 

 

 

 

 

 

 

 

 

 

4) filter( ) 메서드

- filter메서드는 매개변수의 기준으로 문서객체를 재선택하는 메서드입니다.

- 선택되었는지 확인을 위해   css() 메서드를 메서드체이닝하겠습니다.

 

## 문법

$('선택자').filter(기준설정);

 

 

## 코드 예시

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>제이쿼리 - 필터메서드</title>
        <script src="jquery-1.12.4.min.js"></script>
        <script>
            $(document).ready(function(){
                //filter(기준) : 기준 해당 요소만 필터링하여 재선택해주는 메서드
                $('h1').filter('.second').css('color','red');

                //기준을 콜백함수를 통해 배열번호를 사용하도록 처리
                $('h1').filter(function(index){
                    //index : 문서객체의 배열번호를 의미하는 매개변수
                    return index % 3 == 0; //3의 배수
                }).css('textDecoration','underline');
            });
        </script>
    </head>
    <body>
        <h1>제목태그</h1>
        <h1 class="second">제목태그</h1>
        <h1>제목태그</h1>
        <h1>제목태그</h1>
        <h1>제목태그</h1>
        <h1>제목태그</h1>
        <h1>제목태그</h1>
    </body>
</html>

- 첫번째 코드는 매개변수에 작성된 클래스만 재선택한 것입니다.

- 두번째 코드는 매개변수에 콜백함수를 사용하여 인덱스번호를 활용해 3의 배수만 재선택한 것입니다.

 

 

 

## 코드 결과

- 두번째만 글자색이 변경되고 배열번호가 3의 배수인 요소들만 밑줄이 들어가는 것을 확인할 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

5) not( ) 메서드

- not메서드는 매개변수의 기준만 제외하고 문서객체를 재선택하는 메서드입니다. filter의 반대개념입니다.

- 선택되었는지 확인을 위해   css() 메서드를 메서드체이닝하겠습니다.

 

## 문법

$('선택자').not(기준설정);

 

 

## 코드 예시

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>제이쿼리 - 필터메서드</title>
        <script src="jquery-1.12.4.min.js"></script>
        <script>
            $(document).ready(function(){
                //not(기준) : 기준 해당 요소만 제외하고 필터링하여 재선택해주는 메서드
                $('h1').not('.second').css('color','red');

                //기준을 콜백함수를 통해 배열번호를 사용하도록 처리
                //3의 배수만 제외
                $('h1').not(function(index){
                    //index : 문서객체의 배열번호를 의미하는 매개변수
                    return index % 3 == 0; //3의 배수
                }).css('textDecoration','underline');
            });
        </script>
    </head>
    <body>
        <h1>제목태그</h1>
        <h1 class="second">제목태그</h1>
        <h1>제목태그</h1>
        <h1>제목태그</h1>
        <h1>제목태그</h1>
        <h1>제목태그</h1>
        <h1>제목태그</h1>
    </body>
</html>

- 첫번째 코드는 매개변수에 작성된 클래스만 제외하고 재선택한 것입니다.

- 두번째 코드는 매개변수에 콜백함수를 사용하여 인덱스번호를 활용해 3의 배수만 제외하고 재선택한 것입니다.

 

 

 

## 코드 결과

- 두번째만 빨간색이 들어가지 않은 것을 확인할 수 있습니다.

- 배열번호가 0, 3, 6인 요소만 밑줄이 들어가지 않은 것을 확인할 수 있습니다. 

 

 

 

 

 

 

 

 

 

 

 

6) add( ) 메서드

- add메서드는 선택자로 선택된 객체와 매개변수로 작성된 객체를 추가로 선택하는 메서드입니다.

- 선택되었는지 확인을 위해   css() 메서드를 메서드체이닝하겠습니다.

 

## 문법

$('선택자').add('선택자');

 

 

## 코드 예시

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>제이쿼리 - 필터메서드</title>
        <script src="jquery-1.12.4.min.js"></script>
        <script>
            $(document).ready(function(){
                $('h1').add('h2').css('color','red');
            });
        </script>
    </head>
    <body>
        <h1>제목태그</h1>
        <h2>제목태그</h2>
        <h3>제목태그</h3>
        <h4>제목태그</h4>
        <h5>제목태그</h5>
        <h6>제목태그</h6>
    </body>
</html>

 

 

## 코드 결과

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형