๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

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