네이버 클라우드 캠프/JavaScript

[Jquery] Selector

graph-dev 2023. 5. 23. 21:12
728x90

Selector(선택자)

직접 선택자

직접 선택자는 전체, 아이디, 클래스, 태그, 그룹 총 5가지 선택자로 구성됩니다. 전체 선택자는 DOM의 모든 태그를 한번에 선택합니다. 기호는 $("*") 이고 달러와 all(*) 표시만 기억하면 쉽게 쓸 수 있죠.

아이디 선택자는 해당 아이디명인 태그를 고르고, $("#아이디명") 으로 사용합니다.

클래스 선택자는 클래스를 고르고 $(".클래스명") 이렇게 씁니다.

그룹 선택자는 여러 선택자를 묶어서 고를 수 있고, $("선택자1, 선택자2, ...") 이렇게 사용합니다. 선택자 n에는 아이디, 클래스, 태그 선택자 등 다양하게 입력이 가능해서 유용합니다.

종류 코드
전체 선택자 $("*")
아이디 선택자 $("#아이디")
클래스 선택자 $(".클래스명")
태그 선택자 $("태그명")
그룹 선택자 $("선택자1, 선택자2, ...")

 

관계 선택자

관계란 무엇일까요? 주로 가족 관계를 생각해보면 쉽습니다. 부모, 자식, 자손, 형제 정도만 생각합시다.

부모 요소를 선택하려면, 선택자.parent() 사용합니다.

$("기준 선택자")는 기준이 되는 태그가 있고, 그것의 모든 하위 태그 중에 특정한 선택자에 해당하는 태그를 모두 고를 수 있습니다.

자식은 선택자.children(), $("기준 > 선택자") 를 사용해서, 기준이 되는 모든 태그의 바로 아래 하위 태그 중 입력한 선택자에 해당하는 모든 태그를 고릅니다.

선택자.prev()는 선택자의 형제 중 바로 앞 태그를 선택하고, 선택자.next()는 형제 중 바로 뒤 태그를 선택합니다. 마지막으로 선택자.siblings()는 모든 형제 태그를 한번에 고릅니다.

 

부모 선택자 선택자.parent()
기준 선택자 $("기준선택자")
자식 선택자 선택자.children() 혹은 $("기준 > 선택자")
이전 형제 선택자 선택자.prev()
이후 형제 선택자 선택자.next()
형제 선택자 선택자.siblings()

 

탐색 선택자

선택자.first() 혹은 $("선택자:first")는 선택된 태그들 중에 첫번째 태그를 고릅니다.

반대로 마지막 태그는 선택자.last() 혹은 $("선택자:last")를 사용합니다.

여기에 인덱스를 지정해서 해당하는 태그를 고를 때는 eq(equal) 키워드를 사용해서 선택자.eq(index) 혹은 $("선택자:eq(index)")를 씁니다.

처음 선택자.first() 혹은 $("선택자:first")
마지막 선택자.last() 혹은 $("선택자:last")
지정 인덱스 선택자.eq(index) 혹은 $("선택자:eq(index)")

 

속성 탐색 선택자

$("선택자[속성]")은 해당 속성을 가지고 있는 태그를 선택합니다.

$("선택자[속성=속성값]")은 해당 속성의 값이 우측 속성값과 동일한 태그를 선택합니다.

$(":selected")는 드롭다운 메뉴에서 목록 중 selected된 태그를 고릅니다.

$(":checked")는 checkbox, radio 메뉴 중에서 선택된 태그만 고르는 선택자입니다.

지정 속성 $("선택자[속성]")
지정 속성값 $("선택자[속성=속성값]")
드롭다운 태그 $(".selected")
체크박스/라디오 태그 $(".checked")

 

선택자와 함께 사용하면 편리한 메소드

선택자.is(상태(:checked, :selected, ...)) 이것은 선택된 태그의 상태값을 확인하는 메소드입니다. true, false로 반환합니다.

선택자.each(콜백함수) 혹은 $.each("선택자", 콜백함수)는 선택자가 여러 개의 태그를 선택할 때, 하나씩 순회하면서 콜백함수를 실행합니다. 이거 자세히 보면, Java의 스트림과 비슷한 느낌이 들죠?! 

선택된 태그의 상태값 확인 is(상태(:checked, selected, ...))
순회 콜백함수 실행 선택자.each(콜백함수) 혹은 $.each("선택자", 콜백함수)

'네이버 클라우드 캠프 > JavaScript' 카테고리의 다른 글

[Jquery] Jquery 기초  (0) 2023.05.23
[JS] 변수 선언과 사용  (0) 2023.05.22
[JS] 자바스크립트 기초  (0) 2023.05.17