λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

study/jQuery

[jQuery]prop("checked") 와 is(":checked")의 μ°¨μ΄λŠ” λ¬΄μ—‡μΌκΉŒ?

λ°˜μ‘ν˜•

 


 

πŸ’‘

μ˜€λŠ˜μ€ μ²΄ν¬λ°•μŠ€μ—μ„œ 체크여뢀λ₯Ό ν™•μΈν•˜κ±°λ‚˜ μ»¨νŠΈλ‘€ν•  λ•Œ μœ μš©ν•˜κ²Œ μ“°μ΄λŠ”

prop("checked")와  is(":checked")의 차이점을 μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

 

πŸ‘€μ΄μ „ ν¬μŠ€νŒ…

https://yeonzzy.tistory.com/21

 

[jQuery] attr()κ³Ό prop()의 차이점은 λ¬΄μ—‡μΌκΉŒ?

πŸ’‘ μ˜€λŠ˜μ€ attr()κ³Ό prop()의 차이점을 μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€. attr()  VS  prop() jQuery 1.6.0 μ—…λ°μ΄νŠΈλ‘œ  attr() κ³Ό  prop()  λ‘ 개둜 λ‚˜λˆ μ‘Œλ‹€. - attr() : HTML 속성 (Attribute) μ·¨κΈ‰ - prop() : javascrip..

yeonzzy.tistory.com

 


 

prop("checked")   VS   is(":checked")

jQuery 1.6.0 이상을 μ‚¬μš©ν•˜λŠ” 경우  prop("checked") κ°€ κ°€μž₯ 직접적인 jQuery 방식이며 λ‹¨μˆœνžˆ 속성을 직접 ν™•μΈν•˜λŠ” 것이 μ•„λ‹ˆλΌ λͺ‡ 가지 μˆ˜μ€€μ˜ 간접적인 μž‘μ—…μ„ λ¨Όμ € μˆ˜ν–‰ν•œλ‹€.

- Webkit의 λΈŒλΌμš°μ €μ—μ„œλŠ” μš”μ†Œκ°€ μ„ νƒμžμ™€ μΌμ°¨ν•˜λŠ”μ§€ ν…ŒμŠ€νŠΈν•˜λŠ” κΈ°λŠ₯을 μ œκ³΅ν•˜κ³  기본적으둜 :checkedλ₯Ό μ§€μ›ν•˜λ―€λ‘œ webkit λΈŒλΌμš°μ €μ—μ„œλŠ” μƒλ‹Ήνžˆ 직접적.

- Firefox와 IEμ—μ„œλŠ” κ°„λ‹¨ν•œ 선택기가 sizzle용기λ₯Ό 톡해 μž‘λ™ν•˜μ—¬ μ—„μ²­λ‚œ 수의 ν•¨μˆ˜ 호좜이 λ°œμƒ.

 

κ·Έλ ‡λ‹€λ©΄ 두 λ°©μ‹μ˜ μ–΄λ–€ νƒ€μž…μ„ λ°˜ν™˜ν• κΉŒ?

<!-- .html -->
<input type="checkbox" id="example" checked">example

 

μœ„μ˜ htmlμ—μ„œ checked속성을 μ£Όμ—ˆκΈ°λ•Œλ¬Έμ— checkboxλŠ”  true  값을 λ°˜ν™˜ν•œλ‹€.

// .js
var chk = $("input[type=checkbox]");
        
console.log(chk.prop("checked"));   //true
console.log(chk.is(":checked"));    //true

 

jQuery.type()둜 λ°˜ν™˜λ˜λŠ” κ°’μ˜ νƒ€μž…(type)을 ν™•μΈν•˜λ©΄ 두 개의 방식 λͺ¨λ‘  boolean  νƒ€μž…을 κ°–λŠ”λ‹€.

// νƒ€μž…(type) 확인
console.log(jQuery.type(chk.prop("checked")));  //boolean
console.log(jQuery.type(chk.is(":checked")));  //boolean

 

μ²΄ν¬λ°•μŠ€λŠ” λ‹¨μΌλ‘œ μ²˜λ¦¬λ˜λŠ” κ²½μš°λ„ μžˆμ§€λ§Œ, 전체 μ²΄ν¬λ°•μŠ€κ°€ ν•˜μœ„μ˜ μ²΄ν¬λ°•μŠ€λ₯Ό ν•¨κ»˜ μ²˜λ¦¬ν•  경우λ₯Ό 많이 λ³Ό 수 μžˆλ‹€.

κ·Έλ ‡λ‹€λ©΄ 전체 μ²΄ν¬λ°•μŠ€ μ²˜λ¦¬λŠ” μ–΄λ–»κ²Œ ν• κΉŒ?

// μ²΄ν¬λ°•μŠ€ .html
<input type="checkbox" id="chkCtrl"> 전체 선택 <br>
<input type="checkbox" name="chk">선택 1
<input type="checkbox" name="chk">선택 2
<input type="checkbox" name="chk">선택 3

 

μ΄λ ‡κ²Œ html을 μž‘μ„±ν•˜κ³   prop("checked") 와  is(":checked") λ₯Ό μ‚¬μš©ν•˜μ—¬ μ „μ²΄μ„ νƒλ°•μŠ€λ₯Ό 컨트둀 ν•΄λ³΄μ•˜λ‹€.

// .js
var chkList = $("input[name=chk]");

$("#chkCtrl").click(function(){
	if($(this).is(":checked")){
		chkList.prop("checked", true);
	}else
		chkList.prop("checked", false);
});

 

κ²°κ³Ό

 

μ’€ 더 κ°„λž΅ν•˜κ²Œ μž‘μ„±ν•  수 μžˆλŠ” 방법 쀑 μ‚Όν•­μ—°μ‚°μžλ₯Ό μ΄μš©ν•˜λŠ” 방법이 μžˆλŠ”λ°,

이건 λ‹€μŒ ν¬μŠ€νŒ…μ—μ„œ μ•Œμ•„λ³΄κ² λ‹€!

λ°˜μ‘ν˜•

'study > jQuery' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[jQuery] attr()κ³Ό prop()의 차이점은 λ¬΄μ—‡μΌκΉŒ?  (1) 2021.05.27