본문 바로가기

전지적라온시점

jQuery 선택자와 필터 완벽 가이드 본문

Development/jQuery

jQuery 선택자와 필터 완벽 가이드

최라온 2025. 5. 13. 15:40
728x90
반응형
SMALL

jQuery 선택자와 필터 완벽 가이드

jQuery 선택자와 필터는 DOM 요소를 쉽게 선택하고, 원하는 요소를 빠르게 조작할 수 있도록 도와줍니다. 이 글에서는 jQuery에서 제공하는 다양한 선택자와 필터를 실무 예제와 함께 소개하며, 효율적인 DOM 조작 방법을 설명합니다.

1. jQuery 선택자 기본 사용법

jQuery 선택자는 HTML 문서에서 요소를 선택하는 데 사용됩니다. CSS 선택자처럼 동작하며, 다양한 방법으로 DOM 요소를 선택할 수 있습니다.

1.1. 기본 선택자

$('#id'); // id로 선택
$('.class'); // class로 선택
$('element'); // 태그 이름으로 선택

기본 선택자는 각각 #id, .class, element를 사용하여 ID, 클래스, 태그 이름으로 요소를 선택할 수 있습니다.

1.2. 복합 선택자

$('#content .item'); // id와 class 결합
$('li:first'); // 첫 번째 li 요소 선택
$('input[type="text"]'); // 특정 속성으로 선택

복합 선택자는 여러 조건을 결합하여 더 정밀하게 선택할 수 있습니다. 예를 들어 $('#content .item')은 id가 content인 요소 내의 item 클래스를 가진 모든 자식 요소를 선택합니다.

2. jQuery 필터 메서드

jQuery는 선택된 요소 집합에서 원하는 요소만을 필터링할 수 있는 메서드를 제공합니다. 이를 통해 더욱 효율적으로 특정 조건에 맞는 요소를 선택할 수 있습니다.

2.1. .eq() 메서드

$('li').eq(0); // 첫 번째 li 요소 선택

.eq() 메서드는 선택된 요소 중 지정한 인덱스의 요소를 선택합니다. 인덱스는 0부터 시작합니다.

2.2. .first(), .last() 메서드

$('li').first(); // 첫 번째 li 요소 선택
$('li').last(); // 마지막 li 요소 선택

.first().last() 메서드는 각각 선택된 요소 중 첫 번째, 마지막 요소를 반환합니다.

2.3. .not() 메서드

$('li').not('.active'); // .active 클래스를 제외한 li 선택

.not() 메서드는 선택된 요소 중 특정 요소를 제외할 수 있습니다. 예를 들어 .active 클래스를 제외한 모든 li 요소를 선택할 수 있습니다.

2.4. .filter() 메서드

$('li').filter('.active'); // .active 클래스를 가진 li 요소 선택

.filter() 메서드는 선택된 요소 중 특정 조건을 만족하는 요소만 선택합니다. 예를 들어 .active 클래스를 가진 li 요소만 선택할 수 있습니다.

2.5. .has() 메서드

$('div').has('p'); // p 요소를 포함하는 div 요소 선택

.has() 메서드는 선택한 요소 중 특정 자식 요소를 포함하는 요소를 선택합니다. 예를 들어 div 요소 중 p 요소를 포함하는 div를 선택할 수 있습니다. 이 메서드는 자식 요소가 특정 조건을 만족하는지 확인할 때 유용합니다.

3. jQuery 속성 선택자

jQuery 속성 선택자는 HTML 요소의 속성을 기준으로 선택할 수 있는 기능을 제공합니다. 특정 속성을 가진 요소를 선택할 때 유용합니다.

3.1. 속성 값으로 선택

$('input[type="text"]'); // type 속성이 "text"인 input 요소 선택

속성 선택자는 input[type="text"]와 같이 특정 속성과 값을 기준으로 선택할 수 있습니다.

3.2. 속성 값 포함 선택

$('a[href^="https"]'); // https로 시작하는 href 속성을 가진 a 요소 선택

^ 기호는 속성 값이 특정 문자열로 시작하는 요소를 선택하는 데 사용됩니다. 이 외에도 $ (끝으로 끝나는 문자열)이나 * (포함하는 문자열)과 같은 조건도 사용할 수 있습니다.

4. 실무 예제 - 선택자와 필터 활용

$('#productList li').filter('.sale').each(function() {
    $(this).css('background-color', 'yellow');
});

위 예제는 #productList의 li 요소 중 .sale 클래스를 가진 요소에 배경색을 적용하는 예제입니다. .filter().each() 메서드를 결합하여 조건에 맞는 요소에 스타일을 적용합니다.

5. 주의할 점

  • 성능: 너무 많은 요소를 선택하거나 필터링을 과도하게 사용할 경우 성능에 영향을 미칠 수 있습니다.
  • 효율적인 선택: 자주 사용되는 선택자는 캐시하여 성능을 최적화하는 것이 좋습니다.
  • jQuery 선택자 사용 범위: 복잡한 조건을 사용할 때는 CSS 선택자와 비교해 성능 차이를 고려해야 합니다.

6. 결론

jQuery 선택자와 필터는 효율적인 DOM 요소 선택과 조작을 가능하게 합니다. 다양한 선택자와 필터 메서드를 활용하면 코드가 간결해지고, 더 직관적인 DOM 조작이 가능합니다. 실무에서 유용하게 활용할 수 있는 기능들이니, 여러 상황에 맞는 선택자와 필터를 잘 활용해 보세요.

728x90
반응형
LIST