study/jQuery

[jQuery] attr()๊ณผ prop()์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ผ๊นŒ?

yeonzzy 2021. 5. 27. 21:47
๋ฐ˜์‘ํ˜•

 


 

๐Ÿ’ก

์˜ค๋Š˜์€ attr()๊ณผ prop()์˜ ์ฐจ์ด์ ์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

attr()   VS   prop()

jQuery 1.6.0 ์—…๋ฐ์ดํŠธ๋กœ  attr() ๊ณผ  prop()  ๋‘ ๊ฐœ๋กœ ๋‚˜๋ˆ ์กŒ๋‹ค.

- attr() :  HTML ์†์„ฑ (Attribute) ์ทจ๊ธ‰

- prop() : javascript ํ”„๋กœํผํ‹ฐ (Property) ์ทจ๊ธ‰

 

**  ์†์„ฑ(Attribute) ์€ HTML ์š”์†Œ์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜๋ฉฐ ์Œ์œผ๋กœ ์ œ๊ณต

**  ํ”„๋กœํผํ‹ฐ(Property) ๋Š” HTML DOMํŠธ๋ฆฌ์˜ ํŠน์„ฑ์œผ๋กœ

javaSctipt / jQuery๋ฅผ ํ†ตํ•ด ์ˆ˜์ •๋œ ์š”์†Œ์˜ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Œ

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

 

// .js
// attr()
var text = $("input[type=text]");
console.log(chk.attr("id"));		// example
console.log(chk.attr("type"));		// text
console.log(chk.attr("checked"));	// checked

 

// .js
// prop()
var text = $("input[type=text]");
console.log(chk.prop("id"));		// example
console.log(chk.prop("type"));		// text
console.log(chk.prop("checked"));	// true

 

์œ„์˜ ์˜ˆ์ œ๋ฅผ ๋ณด๋ฉด id์™€ type ๊ฐ’์€ ๋™์ผํ•˜๋‚˜ checked์—์„œ ๋‹ค๋ฅธ ๊ฐ’์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 attr()  ์€ HTML ์†์„ฑ ๊ฐ’์ด ๋ชจ๋‘ String์˜ ํƒ€์ž…์ด์ง€๋งŒ  prop() ๋Š” boolean, date, function ๋“ฑ์œผ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

 

attr() / prop() ๋‘˜ ์ค‘ ๋ฌด์—‡์ด ์ข‹์„๊นŒ?

 

๊ฐ ์‚ฌ์šฉ์ž๋“ค์ด ์‚ฌ์šฉํ•˜๋Š” ๋ชฉ์ ์— ๋”ฐ๋ผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์ง€๋งŒ  prop() ๊ฐ€  attr() ๋ณด๋‹ค ์•ฝ 2.5๋ฐฐ ๋น ๋ฅด๋‹ค๋Š” ์žฅ์ ์„ ๊ฐ€์ง„๋‹ค.

HTML์˜ ์†์„ฑ์„ ๊ฐ€์ง€๊ณ  ์˜ค๊ณ  ์‹ถ์„ ๋•Œ๋Š”  attr() ์„,

javaScript๋กœ ์ˆ˜์ •๋œ ์š”์†Œ์˜ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์‹ถ์„ ๋•Œ๋Š”  prop()  ์‚ฌ์šฉ์„ ๊ถŒํ•œ๋‹ค.

๋”๋‚˜์•„๊ฐ€ ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์ปจํŠธ๋กคํ•  ๋•Œ, ์ฒดํฌ๋ฐ•์Šค์˜ ์ฒดํฌ์—ฌ๋ถ€๋ฅผ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ๋Š”  is(":checked" ) ์™€  prop("checked") ์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ค์Œ ํฌ์ŠคํŒ…์—์„œ ๋‹ค๋ค„๋ณด๊ฒ ๋‹ค!

 

๋ฐ˜์‘ํ˜•