jQuery 제이쿼리 선택자 (Selector) 종류 정리

jQuery 선택자란?

jQuery 제이쿼리 선택자란 jQuery 라이브러리에서 제공하는 기능으로, 웹 페이지 내의 HTML 요소들을 선택하기 위한 패턴입니다. 이를 사용하여 특정 요소를 식별하고, 그 요소에 대해 다양한 작업(스타일 변경, 텍스트 수정, 이벤트 핸들링 등)을 수행할 수 있습니다.

jQuery 선택자 종류

  1. 기본 선택자
    • 요소 선택자: 특정 태그를 가진 모든 요소를 선택합니다. 예: $(‘p’)는 모든
      요소를 선택합니다.
    • ID 선택자: 특정 ID를 가진 요소를 선택합니다. 예: $(‘#myId’)는 ID가 myId인 요소를 선택합니다.
    • 클래스 선택자: 특정 클래스를 가진 모든 요소를 선택합니다. 예: $(‘.myClass’)는 클래스가 myClass인 모든 요소를 선택합니다.
  2. 계층 선택자
    • 자식 선택자 (parent > child): 특정 부모의 직접적인 자식 요소만을 선택합니다.
    • 후손 선택자 (ancestor descendant): 특정 조상의 모든 후손 요소를 선택합니다.
    • 인접 형제 선택자 (prev + next): 특정 요소의 바로 다음에 위치하는 형제 요소를 선택합니다.
    • 일반 형제 선택자 (prev ~ siblings): 특정 요소의 모든 뒤에 위치하는 형제 요소들을 선택합니
    • 다.
  3. 부모 선택자
    • .parent(): 특정 요소의 직접적인 부모 요소만을 선택합니다.
    • .parents(): 특정 요소의 모든 상위 조상 요소를 선택합니다.
    • .closest(selector): 특정 요소 자신 또는 가장 가까운 상위 조상 요소 중 지정된 선택자에 일치하는 요소를 찾습니다.
    • .parent(selector): 특정 조건을 만족하는 직접적인 부모 요소를 선택합니다.
  4. 자식 선택자
    • .children(selector): 특정 부모 요소의 모든 직접적인 자식 요소를 선택합니다. 선택자를 사용하여 특정 자식 요소를 필터링할 수도 있습니다.
    • .find(selector): 특정 요소의 모든 후손 요소 중 지정된 선택자에 일치하는 요소를 찾습니다.
  5. 형제 선택자
    • .siblings(selector): 특정 요소의 모든 형제 요소를 선택합니다. 선택자를 사용하여 특정 형제 요소를 필터링할 수도 있습니다.
    • .next(selector): 특정 요소의 바로 다음 형제 요소를 선택합니다. 선택자를 사용하여 특정 형제 요소를 필터링할 수도 있습니다.
    • .prev(selector): 특정 요소의 바로 이전 형제 요소를 선택합니다. 선택자를 사용하여 특정 형제 요소를 필터링할 수도 있습니다.
  6. 속성 선택자
    • [attribute]: 특정 속성을 가진 모든 요소를 선택합니다.
    • [attribute=value]: 특정 속성을 가지며 그 값이 특정 값과 일치하는 모든 요소를 선택합니다.
    • [attribute^=value]: 특정 속성의 값이 특정 값으로 시작하는 모든 요소를 선택합니다.
    • [attribute$=value]: 특정 속성의 값이 특정 값으로 끝나는 모든 요소를 선택합니다.
    • [attribute*=value]: 특정 속성의 값이 특정 값을 포함하는 모든 요소를 선택합니다.
  7. 필터 선택자
    • :first: 각 그룹의 첫 번째 요소를 선택합니다.
    • :last: 각 그룹의 마지막 요소를 선택합니다.
    • :not(selector): 특정 선택자와 일치하지 않는 모든 요소를 선택합니다.
    • :even: 짝수 번째 요소를 선택합니다.
    • :odd: 홀수 번째 요소를 선택합니다.
    • :eq(index): 특정 인덱스에 위치한 요소를 선택합니다.
    • :gt(index): 특정 인덱스보다 큰 인덱스를 가진 요소를 선택합니다.
    • :lt(index): 특정 인덱스보다 작은 인덱스를 가진 요소를 선택합니다.
    • :header: <h1>, <h2> 같은 헤더 요소들을 선택합니다.
    • :animated: 현재 애니메이션 중인 요소를 선택합니다.
  8. 폼 선택자
    • :input: 모든 <input>, <textarea>, <select>, <button> 요소를 선택합니다.
    • :text: 모든 텍스트 입력 필드를 선택합니다.
    • :password: 모든 패스워드 입력 필드를 선택합니다.
    • :radio: 모든 라디오 버튼을 선택합니다.
    • :checkbox: 모든 체크박스를 선택합니다.
    • :submit: 모든 제출 버튼을 선택합니다.
    • :reset: 모든 리셋 버튼을 선택합니다.
    • :button: 모든 <button>요소와 타입이 버튼인 <input>요소를 선택합니다.
    • :image: 모든 이미지 버튼 (<input type=”image”>)을 선택합니다.
    • :file: 모든 파일 선택 필드를 선택합니다.
    • :selected: 모든 선택된 옵션 요소를 선택합니다.
    • :enabled: 활성화된 모든 폼 요소를 선택합니다.
    • :disabled: 비활성화된 모든 폼 요소를 선택합니다.
    • :checked: 체크되거나 선택된 폼 요소를 선택합니다.

jQuery 선택자 표와 예제

기본 선택자

선택자예제설명
요소 선택자$(‘p’)모든 <p>요소를 선택합니다.
ID 선택자$(‘#myId’)ID가 myId인 요소를 선택합니다.
클래스 선택자$(‘.myClass’)클래스가 myClass인 모든 요소를 선택합니다.

계층 선택자

선택자예제설명
자식 선택자$(‘ul > li’)특정 부모의 직접적인 자식 요소만을 선택합니다.
후손 선택자$(‘div p’)특정 조상의 모든 후손 요소를 선택합니다.
인접 형제 선택자$(‘h1 + h2’)특정 요소의 바로 다음에 위치하는 형제 요소를 선택합니다.
일반 형제 선택자$(‘h1 ~ p’)특정 요소의 모든 뒤에 위치하는 형제 요소들을 선택합니다.

부모 선택자

선택자예제설명
.parent()$(‘li’).parent()<li> 요소의 직접적인 부모 요소를 선택합니다.
.parents()$(‘li’).parents()<li> 요소의 모든 상위 조상 요소들을 선택합니다.
.closest(selector)$(‘li’).closest(‘div’)<li> 요소 자신 또는 그 상위에 있는 가장 가까운 <div> 요소를 선택합니다.
.parent(selector)$(‘li’).parent(‘.list’)<li> 요소의 직접적인 부모 중 클래스가 list인 요소를 선택합니다.

자식 선택자

선택자예제설명
.children(selector)$(‘ul’).children(‘li’)<ul>의 모든 직접적인 <li> 자식 요소를 선택합니다. 선택자를 사용하여 특정 자식 요소를 필터링할 수도 있습니다.
.find(selector)$(‘div’).find(‘p’)<div> 내의 모든 <p> 후손 요소를 선택합니다. 선택자를 사용하여 특정 후손 요소를 필터링할 수도 있습니다.

형제 선택자

선택자예제설명
.siblings(selector)$(‘li’).siblings()<li> 요소의 모든 형제 요소를 선택합니다. 선택자를 사용하여 특정 형제 요소를 필터링할 수도 있습니다.
.next(selector)$(‘li’).next()<li> 요소 바로 다음에 오는 형제 요소를 선택합니다. 선택자를 사용하여 특정 형제 요소를 필터링할 수도 있습니다.
.prev(selector)$(‘li’).prev()<li> 요소 바로 이전에 오는 형제 요소를 선택합니다. 선택자를 사용하여 특정 형제 요소를 필터링할 수도 있습니다.

속성 선택자

선택자예제설명
[attribute]$(‘[href]’)href 속성을 가진 모든 요소를 선택합니다.
[attribute=value]$(‘[type=”text”]’)type=”text” 속성/값을 가진 모든 요소를 선택합니다.
[attribute^=value]$(‘[name^=”user”]’)name 속성 값이 “user”로 시작하는 모든 요소를 선택합니다.
[attribute$=value]$(‘[name$=”name”]’)name 속성 값이 “name”으로 끝나는 모든 요소를 선택합니다.
[attribute*=value]$(‘[name*=”name”]’)name 속성 값에 “name”을 포함하는 모든 요소를 선택합니다.

필터 선택자

선택자예제설명
:first$(‘li:first’)각 그룹의 첫 번째 요소를 선택합니다.
:last$(‘li:last’)각 그룹의 마지막 요소를 선택합니다.
:not(selector)$(‘input:not(:checked)’):checked에 해당하지 않는 모든 input 요소를 선택합니다.
:even$(‘tr:even’)짝수 번째 tr 요소를 선택합니다.
:odd$(‘tr:odd’)홀수 번째 tr 요소를 선택합니다.
:eq(index)$(‘li:eq(3)’)인덱스가 3인 요소를 선택합니다.
:gt(index)$(‘li:gt(3)’)인덱스가 3보다 큰 요소를 선택합니다.
:lt(index)$(‘li:lt(3)’)인덱스가 3보다 작은 요소를 선택합니다.
:header$(‘:header’)모든 헤더(<h1>, <h2>, …) 요소를 선택합니다.
:animated$(‘:animated’)현재 애니메이션 중인 모든 요소를 선택합니다.

폼 선택자

선택자예제설명
:input$(‘:input’)모든 <input>, <textarea>, <select>, <button> 요소를 선택합니다.
:text$(‘:text’)모든 텍스트 입력 필드를 선택합니다.
:password$(‘:password’)모든 패스워드 입력 필드를 선택합니다.
:radio$(‘:radio’)모든 라디오 버튼을 선택합니다.
:checkbox$(‘:checkbox’)모든 체크박스를 선택합니다.
:submit$(‘:submit’)모든 제출 버튼을 선택합니다.
:reset$(‘:reset’)모든 리셋 버튼을 선택합니다.
:button$(‘:button’)모든 <button> 요소와 타입이 버튼인 <input> 요소를 선택합니다.
:image$(‘:image’)모든 이미지 버튼(<input type=”image”>)을 선택합니다.
:file$(‘:file’)모든 파일 선택 필드를 선택합니다.
:selected$(‘:selected’)모든 선택된 옵션 요소를 선택합니다.
:enabled$(‘:enabled’)활성화된 모든 폼 요소를 선택합니다.
:disabled$(‘:disabled’)비활성화된 모든 폼 요소를 선택합니다.
:checked$(‘:checked’)체크되거나 선택된 폼 요소를 선택합니다.

결론

jQuery 선택자는 웹 페이지 내의 다양한 HTML 요소들을 효율적이고 유연하게 선택할 수 있는 도구입니다. 기본 선택자부터 계층, 부모, 자식, 형제, 속성, 필터, 그리고 폼 선택자에 이르기까지, 다양한 유형의 선택자들은 웹 개발자가 DOM 요소들을 쉽게 탐색하고, 조작할 수 있게 해줍니다. 이러한 선택자들을 활용함으로써, 스타일 변경, 텍스트 수정, 이벤트 핸들링 등의 작업을 효과적으로 수행할 수 있으며, 동적인 웹 페이지를 구축할 수 있습니다.

Leave a Comment