Library/JQuery

πŸ“š 제이쿼리 μ„ νƒμž(Selector) μ’…λ₯˜ 총정리

인파_ 2021. 10. 6. 19:05

제이쿼리-μ„ νƒμž

jQuery CSS μ„ νƒμž λͺ¨μŒ

 

κΈ°λ³Έ μ„ νƒμž

μ„ νƒμž 예제 μ„€λͺ…
* $("*") λͺ¨λ“  μš”μ†Œλ₯Ό 선택
.class $(".class") μ§€μ •ν•œ 클래슀λ₯Ό κ°€μ§€λŠ” λͺ¨λ“  μš”μ†Œλ₯Ό 선택
element $("element") μ§€μ •λœ νƒœκ·Έλͺ…을 κ°€μ§€λŠ” λͺ¨λ“  μš”μ†Œλ₯Ό 선택
#id $("#id") μ§€μ •ν•œ ID 속성을 κ°€μ§€λŠ” ν•˜λ‚˜μ˜ μš”μ†Œλ₯Ό 선택
, $("selector1, selecotr2") λͺ¨λ“  μ§€μ •ν•œ μ„ νƒμžλ“€μ˜ 결과듀을 κ²°ν•©ν•˜μ—¬ 선택

​

μžμ‹ μ„ νƒμž (child)

μ„ νƒμž 예제 μ„€λͺ…
:first-child $("div:first-child") λΆ€λͺ¨μ˜ 첫 번째 μžμ‹μΈ λͺ¨λ“  μš”μ†Œλ₯Ό 선택
:first-of-type $("div:first-of-type") λ™μΌν•œ μš”μ†Œ μ΄λ¦„μ˜ ν˜•μ œ 쀑 첫 번째 μš”μ†Œλ₯Ό λͺ¨λ‘ 선택
:last-child $("div:last-child") λΆ€λͺ¨μ˜ λ§ˆμ§€λ§‰ ν•˜μœ„ μš”μ†ŒμΈ λͺ¨λ“  μš”μ†Œλ₯Ό 선택
:last-of-type $("div:last-of-type") λ™μΌν•œ name μš”μ†Œμ˜ ν˜•μ œ 쀑 λ§ˆμ§€λ§‰ μš”μ†ŒμΈ λͺ¨λ“  μš”μ†Œλ₯Ό 선택
:nth-child(index/even/odd/equation) $("div:nth-child(2)") λΆ€λͺ¨μ˜ n 번째 μžμ‹μΈ λͺ¨λ“  μš”μ†Œλ₯Ό 선택
:nth-last-child(index/even/odd/equation) $("div:last-child(2)") λ§ˆμ§€λ§‰ μš”μ†Œμ—μ„œ 첫 번째 μš”μ†ŒκΉŒμ§€ κ³„μ‚°ν•˜μ—¬ λΆ€λͺ¨μ˜ n 번째 μžμ‹μΈ λͺ¨λ“  μš”μ†Œλ₯Ό 선택
:nth-last-of-type(index/even/odd/equation) $("div:nth-last-of-type(2)") λ§ˆμ§€λ§‰ μš”μ†ŒλΆ€ν„° 첫 번째 μš”μ†ŒκΉŒμ§€ 같은 name μš”μ†Œλ₯Ό κ°€μ§„ ν˜•μ œμ™€ κ΄€λ ¨ν•˜μ—¬ λΆ€λͺ¨μ˜ n 번째 μžμ‹μΈ λͺ¨λ“  μš”μ†Œ 선택
:nth-of-type(index/even/odd/equation) $("div:nth-of-type(2)") λ™μΌν•œ name μš”μ†Œλ₯Ό κ°–λŠ” ν˜•μ œμ™€ κ΄€λ ¨ν•˜μ—¬ λΆ€λͺ¨μ˜ n번째 μžμ‹μΈ λͺ¨λ“  μš”μ†Œ 선택
:only-child $("div:only-child") λΆ€λͺ¨μ˜ μœ μΌν•œ μžμ‹μΈ λͺ¨λ“  μš”μ†Œλ₯Ό 선택
:only-of-type $("div:only-of-type") λ™μΌν•œ name μš”μ†Œλ₯Ό κ°–λŠ” ν˜•μ œ λ…Έλ“œκ°€ μ—†λŠ” λͺ¨λ“  μš”μ†Œ 선택

​

계측 μ„ νƒμž (Hierarchy)

μ„ νƒμž 예제 μ„€λͺ…
> :: parent > child $("ul > li") "parent"둜 μ§€μ •λœ μš”μ†Œμ˜ "child"둜 μ§€μ •λœ λͺ¨λ“  직접 μžμ‹ μš”μ†Œ 선택
(곡백) :: ancestor descendant $("form input") μ§€μ •λœ μ‘°μƒμ˜ μžμ†μΈ λͺ¨λ“  μš”μ†Œ 선택
+ :: prev + next $("label+input") ν˜•μ œ "prev"κ°€ λ°”λ‘œ μ•žμ— μ˜€λŠ” "next"와 μΌμΉ˜ν•˜λŠ” λ‹€μŒ μš”μ†Œ λͺ¨λ‘ 선택
~ :: prev~siblings $("#prev~div") "prev"μš”μ†Œ λ‹€μŒμ— μ˜€λŠ” λͺ¨λ“  ν˜•μ œ μš”μ†Œλ₯Ό μ„ νƒν•˜κ³ , μƒμœ„ μš”μ†Œκ°€ κ°™μœΌλ©° 필터링 "siblings" μ„ νƒμžμ™€ μΌμΉ˜ν•˜λŠ” μš”μ†Œ

​

속성 μ„ νƒμž (Attribute)

μ„ νƒμž 예제 μ„€λͺ…
[attribute|='value'] $("[name|=apple]") 속성 name값이
appleμ΄κ±°λ‚˜,
apple- 으둜 μ‹œμž‘ν•˜λŠ” μš”μ†Œ
[attribute*='value'] $("[name*=apple]") 속성 name값이
appleμ΄λž€ 단어λ₯Ό ν¬ν•¨ν•˜λŠ” μš”μ†Œ (μ–΄λŠ μœ„μΉ˜λ“ )
[attribute~='value'] $("[name~=apple]") 속성 name값이
appleμ΄κ±°λ‚˜
apple 곡백 / 곡백 apple 으둜 κ΅¬λΆ„λœ 단어λ₯Ό ν¬ν•¨ν•˜λŠ” μš”μ†Œ
[attribute$='value'] $("[name$=apple]") 속성 name값이
appleμ΄κ±°λ‚˜
apple둜 μ •ν™•νžˆ λλ‚˜λŠ” 값인 μš”μ†Œ
λΉ„κ΅λŠ” λŒ€μ†Œ 문자λ₯Ό ꡬ뢄함.
[attribute='value'] $("[name=apple]") 속성 name값이
μ •ν™•νžˆ apple인 μš”μ†Œ
[attribute!='value'] $("[name!=apple]") 속성 name값이
apple을 μ•„μ˜ˆ κ°–μ§€ μ•Šκ±°λ‚˜,
apple μ΄μ™Έμ˜ 값을 κ°–μ§€ μ•ŠλŠ” μš”μ†Œ
[attribute^='value'] $("[name^=apple]") 속성 name값이
appleμ΄κ±°λ‚˜,
apple둜 μ •ν™•νžˆ μ‹œμž‘ν•˜λŠ” μš”μ†Œ
[attribute] $("[name]") 속성 name을 κ°–κ³ μžˆλŠ” μš”μ†Œ
[attribute='value'][attribute2='value2'] $("[name=apple][name2=banana]") 각 속성 μ„ νƒμžλ“€μ΄ and둜 μΌμΉ˜ν•˜λŠ” μš”μ†Œ
<inuput type="text"/>

<script>
	$('input[type=text]').val("ν…μŠ€νŠΈ κ°’μΆ”κ°€");
</script>

 

속성 μ„ νƒμž μ—°μŠ΅ν•΄λ³΄κΈ°

우츑의 μ„ νƒμž λ²„νŠΌμ„ 눌러 μ–΄λŠ λ¬Έμžμ—΄μ΄ ν•΄λ‹Ήλ˜λŠ”μ§€ 식별할 수 μžˆλ‹€.

 


jQuery μ „μš© μ„ νƒμž λͺ¨μŒ

jQueryμ—μ„œλŠ” 기본적으둜 κ³΅ν†΅μœΌλ‘œ μ“°μ΄λŠ” CSS μ„ νƒμž 뿐만 μ•„λ‹ˆλΌ λͺ‡λͺ‡ 제이쿼리 μ „μš© λΉ„ν‘œμ€€ μ„ νƒμžλ„ μ§€μ›ν•œλ‹€

κΈ°λ³Έ css μ„ νƒμžλ‘œλŠ” λΆ€μ‘±ν•˜μ—¬ μ‚¬μš©μž νŽΈμ˜μ„±μ„ μœ„ν•΄ μ œμ΄μΏΌλ¦¬μ—μ„œ 자체적으둜 μΆ”κ°€ν•œ μ„ νƒμž 문법이라고 보면 λœλ‹€.

μ΄λŸ¬ν•œ λΉ„ν‘œμ€€ μ„ νƒμžλ₯Ό μ‚¬μš©ν•˜λ©΄ μ„ νƒν•œ μš”μ†Œλ₯Ό μ €μž₯ν•˜κ±°λ‚˜, κ·Έ 결과에 λŒ€ν•΄ ν•„ν„°λ§κΉŒμ§€ ν•  수 μžˆλ‹€.

​

κΈ°λ³Έ ν•„ν„° μ„ νƒμž(Basic Filter)

μ„ νƒμž 예제 μ„€λͺ…
:odd $("div:odd") ν™€μˆ˜ λ²ˆμ§Έμ— μœ„μΉ˜ν•œ λ¬Έμ„œ 객체λ₯Ό 선택함
:even $("div:even") 짝수 λ²ˆμ§Έμ— μœ„μΉ˜ν•œ λ¬Έμ„œ 객체λ₯Ό 선택함
:first $("div:first") 첫 번째 μœ„μΉ˜ν•œ λ¬Έμ„œ 객체λ₯Ό 선택함
:last $("div:last") λ§ˆμ§€λ§‰μ— μœ„μΉ˜ν•œ λ¬Έμ„œ 객체λ₯Ό 선택함

제이쿼리-μ„ νƒμž

μ„ νƒμž 예제 μ„€λͺ…
:root $("div:root") document의 루트 μš”μ†Œ 선택
:target $("div:target") document의 URL의 flagment μ‹λ³„μžλ‘œ μ§€μ •λœ λŒ€μƒ μš”μ†Œλ₯Ό 선택
:header $("div:header") h1, h2, h3 λ“±κ³Ό 같이 헀더인 λͺ¨λ“  μš”μ†Œλ₯Ό 선택
:empty $("div:empty") μžμ‹μ΄ μ—†λŠ” λͺ¨λ“  μš”μ†Œ(ν…μŠ€νŠΈ λ…Έλ“œ 포함)λ₯Ό 선택
:parent $("div:parent") ν•˜λ‚˜ μ΄μƒμ˜ ν•˜μœ„ λ…Έλ“œ(μš”μ†Œ λ˜λŠ” ν…μŠ€νŠΈ)κ°€ μžˆλŠ” λͺ¨λ“  μš”μ†Œλ₯Ό 선택

​

ν•¨μˆ˜ ν•„ν„° μ„ νƒμž(function Filter)

μ„ νƒμž 예제 μ„€λͺ…
:eq(index) $("div:eq(1)") μΌμΉ˜ν•˜λŠ” μ§‘ν•© λ‚΄μ˜ 인덱슀 n에 μžˆλŠ” μš”μ†Œλ₯Ό 선택
:gt(index) $("div:gt(2)") μΌμΉ˜ν•˜λŠ” μ„ΈνŠΈ λ‚΄μ˜ μΈλ±μŠ€λ³΄λ‹€ 큰 μΈλ±μŠ€μ—μ„œ λͺ¨λ“  μš”μ†Œλ₯Ό 선택
:lang(language) $("div:lang(en-us)") μ§€μ •λœ μ–Έμ–΄μ˜ λͺ¨λ“  μš”μ†Œλ₯Ό 선택
:lt(index) $("div:lt(4)") μΌμΉ˜ν•˜λŠ” μ§‘ν•© λ‚΄μ˜ μΈλ±μŠ€λ³΄λ‹€ μž‘μ€ μΈλ±μŠ€μ—μ„œ λͺ¨λ“  μš”μ†Œλ₯Ό 선택
:not(selector) $("div:not(:checked)") μ§€μ •λœ μ„ νƒμžμ™€ μΌμΉ˜ν•˜μ§€ μ•Šμ€ λͺ¨λ“  μš”μ†Œλ₯Ό 선택
:contains(text) $("div:contains('Hello'") μ§€μ •λœ ν…μŠ€νŠΈλ₯Ό ν¬ν•¨ν•˜λŠ” λͺ¨λ“  μš”μ†Œλ₯Ό 선택
:has(selector) $("div:has(p)") μ§€μ •ν•œ μ„ νƒμžμ™€ μΌμΉ˜ν•˜λŠ” μš”μ†Œλ₯Ό ν•˜λ‚˜ 이상 ν¬ν•¨ν•˜λŠ” μš”μ†Œλ₯Ό 선택
:animated $("div:animated") μ„ νƒμžλ₯Ό μ‹€ν–‰ν•  λ•Œ μ• λ‹ˆλ©”μ΄μ…˜ μ§„ν–‰ μƒνƒœμ— μžˆλŠ” λͺ¨λ“  μš”μ†Œλ₯Ό 선택
":not(:animated)" => μ• λ‹ˆλ©”μ΄μ…˜μ€‘μ΄μ§€ μ•Šμ€κ²ƒ

​

μž…λ ₯ 양식 폼(Form) ν•„ν„° μ„ νƒμž

μ„ νƒμž 예제 μ„€λͺ…
:button $(":button") input νƒœκ·Έμ€‘ type 속성이 button인 λ¬Έμ„œ 객체와 button νƒœκ·Έλ₯Ό 선택
:checkbox $(":checkbox") μ²΄ν¬λ°•μŠ€ μœ ν˜•μ˜ λͺ¨λ“  μš”μ†Œ 선택
:checked $(":checked") μ²΄ν¬λ˜κ±°λ‚˜ μ„ νƒλœ λͺ¨λ“  μš”μ†Œμ™€ μΌμΉ˜ν•œ μš”μ†Œ 선택
:disabled $(":disabled") λΉ„ν™œμ„±ν™”λœ λͺ¨λ“  μš”μ†Œ 선택
:enabled $(":enabled") ν™œμ„±ν™”λœ λͺ¨λ“  μš”μ†Œ 선택
:file $(":file") 파일 μœ ν˜•μ˜ λͺ¨λ“  μš”μ†Œλ₯Ό 선택
:focus $(":focus") ν˜„μž¬ ν¬μ»€μŠ€κ°€ μžˆλŠ” μš”μ†Œ 선택
:image $(":image") 이미지 μœ ν˜•μ˜ λͺ¨λ“  μš”μ†Œ 선택
:input $(":input") λͺ¨λ“  input, textarea, select, button μš”μ†Œ 선택
:password $(":password") νŒ¨μŠ€μ›Œλ“œ μœ ν˜•μ˜ λͺ¨λ“  μš”μ†Œ 선택
:radio $(":radio") λΌλ””μ˜€ μœ ν˜•μ˜ λͺ¨λ“  μš”μ†Œ 선택
:reset $(":reset") reset μœ ν˜•μ˜ λͺ¨λ“  μš”μ†Œ 선택
:selected $(":selected") μ„ νƒλœ λͺ¨λ“  μš”μ†Œ 선택
:submit $(":submit") submit μœ ν˜•μ˜ λͺ¨λ“  μš”μ†Œ 선택
:text $(":text") text μœ ν˜•μ˜ λͺ¨λ“  input μš”μ†Œ 선택
<select>
   <option>사과 </option>
   <option>λ”ΈκΈ° </option>
   <option>μˆ˜λ°• </option>
   <option>멜둠  </option>
</select>

<script>
	$('select > option:selected').val();   // select 둜 μ„ νƒλœ 값이 μ°ΎκΈ°
</script>

​

κ°€μ‹œμ„± ν•„ν„° μ„ νƒμž (Visibility Fileter)

μ„ νƒμž 예제 μ„€λͺ…
:hidden $("div:hidden") hidden 된 λͺ¨λ“  μš”μ†Œ 선택
:visible $("div:visible") visible인 λͺ¨λ“  μš”μ†Œ 선택

# 참고자료

https://poiemaweb.com/jquery-basics

https://hane-1.tistory.com/33

https://hane-1.tistory.com/36