๐Ÿ“Web Developing/JavaScript ๊ธฐ์ดˆ

DOM์—์„œ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌํ•˜๊ธฐ

Hush 2022. 6. 25. 18:19

HTML ํƒœ๊ทธ์—์„œ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ์—ฐ๊ฒฐํ•ผ ์ˆ˜๋„ ์žˆ์ง€๋งŒ ํƒœ๊ทธ์™€ ์Šคํฌ๋ฆฝํŠธ ์†Œ์Šค๊ฐ€ ์„ž์—ฌ ์žˆ์–ด์„œ ๋ณต์žกํ•œ ํ”„๋กœ๊ทธ๋žจ์—๋Š” ์ ํ•ฉํ•˜์ง€ ์•Š๋‹ค.

์ด๋Ÿด ๋•Œ DOM ์—์„œ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ์—ฐ๊ฒฐํ•˜๋ฉด HTML ํƒœ๊ทธ์™€ ์Šคํฌ๋ฆฝํŠธ ์†Œ์Šค๋ฅผ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

์—ฌ๊ธฐ์—์„œ๋Š” DOM์˜ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ๋‹ค.

 

DOM ์š”์†Œ์— ํ•จ์ˆ˜ ์ง์ ‘ ์—ฐ๊ฒฐํ•˜๊ธฐ

์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ๊ธฐ ํ•จ์ˆ˜๊ฐ€ ๊ฐ„๋‹จํ•˜๋‹ค๋ฉด DOM ์š”์†Œ์— ์ง์ ‘ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ ์˜ˆ์ œ๋Š” img ์š”์†Œ๋ฅผ ๊ฐ€์ ธ์™€ ๋ณ€์ˆ˜์— ์ €์žฅํ•œ ํ›„ onclick์„ ์‚ฌ์šฉํ•ด ๋ณ€์ˆ˜์— ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ๊ธฐ(ํ•จ์ˆ˜)๋ฅผ ์ง์ ‘ ์—ฐ๊ฒฐํ•œ๋‹ค.

์ด๋ฏธ์ง€๋ฅผ ํด๋ฆญํ•˜๋ฉด ์•Œ๋ฆผ ์ฐฝ์ด ๋‚˜ํƒ€๋‚˜์ง€๋งŒ ์ด๋ฏธ์ง€ ์™ธ์˜ ๋‹ค๋ฅธ ๊ณณ์„ ํด๋ฆญํ•˜๋ฉด ์‹คํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค.

<!DOCTYPE html>
<html lang="ko">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>innerText, innerHTML ํ”„๋กœํผํ‹ฐ</title>
</head>
<body>
	<img src="images/EiffleTower.jpg" alt="ET" id="et">
	<script>
		var et=document.querySelector("#et")
		et.onclick = function(){
			alert("์ด๋ฏธ์ง€๋ฅผ ํด๋ฆญํ–ˆ์Šต๋‹ˆ๋‹ค");
		}
	</script>
</body>
</html>

 

ํ•จ์ˆ˜ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•ด ์—ฐ๊ฒฐํ•˜๊ธฐ

์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์‹คํ–‰ํ•  ํ•จ์ˆ˜๋ฅผ ๋”ฐ๋กœ ์ •์˜ํ•ด ๋†“์•˜๋‹ค๋ฉด ํ•จ์ˆ˜ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•ด ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด ๊ฒฝ์šฐ์—๋Š” ํ•จ์ˆ˜ ์ด๋ฆ„ ๋‹ค์Œ์— ๊ด„ํ˜ธ๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๋Š”๋‹ค.

<!DOCTYPE html>
<html lang="ko">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>innerText, innerHTML ํ”„๋กœํผํ‹ฐ</title>
</head>
<body>
	<img src="images/EiffleTower.jpg" alt="ET" id="et">
	<script>
		var et=document.querySelector("#et")
		et.onclick = AlertClick;
		
		function AlertClick(){
			alert("์ด๋ฏธ์ง€๋ฅผ ํด๋ฆญํ–ˆ์Šต๋‹ˆ๋‹ค");
		}
	</script>
</body>
</html>

 

DOM์˜ event ๊ฐ์ฒด ์•Œ์•„๋ณด๊ธฐ

DOM์—๋Š” ์ด๋ฒคํŠธ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” event ๊ฐ์ฒด๊ฐ€ ์žˆ๋‹ค.

์ด ๊ฐ์ฒด์—๋Š” ์›น ๋ฌธ์„œ์—์„œ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ์š”์†Œ๊ฐ€ ๋ฌด์—‡์ธ์ง€, ์–ด๋–ค ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ๋“ฑ์˜ ์ •๋ณด๊ฐ€ ๋“ค์–ด์žˆ๋‹ค.

 

๋‹ค์Œ์€ ์ด๋ฏธ์ง€์— ๋ฐœ์ƒํ•œ ์ด๋ฒคํŠธ์˜ ์œ ํ˜•๊ณผ ์œ„์น˜๋ฅผ ์•Œ๋ฆผ ์ฐฝ์œผ๋กœ ๋ณด์—ฌ ์ฃผ๋Š” ์˜ˆ์ œ์ด๋‹ค.

์—ฌ๊ธฐ์—์„œ img์š”์†Œ๋ฅผ ํด๋ฆญํ•˜๋ฉด ๊ทธ ์œ„์น˜๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด event ๊ฐ์ฒด๋ฅผ ํ•จ์ˆ˜์˜ ์ธ์ž๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

<!DOCTYPE html>
<html lang="ko">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>innerText, innerHTML ํ”„๋กœํผํ‹ฐ</title>
</head>
<body>
	<img src="images/EiffleTower.jpg" alt="ET" id="et">
	<script>
		var et=document.querySelector("#et");
		et.onclick = function(event) {
			alert("์ด๋ฒคํŠธ ์œ ํ˜•: "+event.type + ", ์ด๋ฒคํŠธ ๋ฐœ์ƒ ์œ„์น˜: " + event.pageX + "," + event.pageY);
		}
	</script>
</body>
</html>

๋‹ค์Œ ํ‘œ๋Š” event ๊ฐ์ฒด์˜ ์ฃผ์š” ํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”์„œ๋“œ๋ฅผ ์ •๋ฆฌํ•œ ๊ฒƒ์ด๋‹ค.

๊ตฌ๋ถ„ ์„ค๋ช…
ํ”„๋กœํผํ‹ฐ altKey ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ Alt๋ฅผ ๋ˆŒ๋ €๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ boolean ๊ฐ’์œผ๋กœ ๋ฐ˜ํ™˜
button ๋งˆ์šฐ์Šค์—์„œ ๋ˆ„๋ฅธ ๋ฒ„ํŠผ์˜ ํ‚ค๊ฐ’์„ ๋ฐ˜ํ™˜
charCode keypress ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋–„ ์–ด๋–ค ํ‚ค๋ฅผ ๋ˆŒ๋ €๋Š”์ง€ ์œ ๋‹ˆ์ฝ”๋“œ ๊ฐ’์œผ๋กœ ๋ฐ˜ํ™˜
clientX ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฐ€๋กœ ์œ„์น˜๋ฅผ ๋ฐ˜ํ™˜
clientY ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ์„ธ๋กœ ์œ„์น˜๋ฅผ ๋ฐ˜ํ™˜
ctrlKey ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋–„ Ctrl์„ ๋ˆŒ๋ €๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ boolean ๊ฐ’์œผ๋กœ ๋ฐ˜ํ™˜
pageX ํ˜„์žฌ ๋ฌธ์„œ ๊ธฐ์ค€์œผ๋กœ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฐ€๋กœ ์œ„์น˜๋ฅผ ๋ฐ˜ํ™˜
pageY ํ˜„์žฌ ๋ฌธ์„œ ๊ธฐ์ค€์œผ๋กœ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ์„ธ๋กœ ์œ„์น˜๋ฅผ ๋ฐ˜ํ™˜
screenX ํ˜„์žฌ ํ™”๋ฉด ๊ธฐ์ค€์œผ๋กœ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฐ€๋กœ ์œ„์น˜๋ฅผ ๋ฐ˜ํ™˜
screenY ํ˜„์žฌ ํ™”๋ฉด ๊ธฐ์ค€์œผ๋กœ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ์„ธ๋กœ ์œ„์น˜๋ฅผ ๋ฐ˜ํ™˜
shiftKey ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ Shift๋ฅผ ๋ˆŒ๋ €๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ boolean ๊ฐ’์œผ๋กœ ๋ฐฏ๋†˜
target ์ด๋ฒคํŠธ๊ฐ€ ์ตœ์ดˆ๋กœ ๋ฐœ์ƒํ•œ ๋Œ€์ƒ์„ ๋ฐ˜ํ™˜
timeStamp ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ์‹œ๊ฐ„์„ ๋ฐ˜ํ™˜
type ๋ฐœ์ƒํ•œ ์ด๋ฒคํŠธ ์ด๋ฆ„์„ ๋ฐ˜ํ™˜
which ํ‚ค๋ณด๋“œ์™€ ๊ด€๋ จ๋œ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ํ‚ค์˜ ์œ ๋‹ˆ์ฝ”๋“œ๊ฐ’์„ ๋ฐ˜ํ™˜
๋ฉ”์„œ๋“œ preventDefault() ์ด๋ฒคํŠธ๋ฅผ ์ทจ์†Œํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์— ์ทจ์†Œ

 

event ๊ฐ์ฒด์—๋Š” ์ด๋ฒคํŠธ ์ •๋ณด๋งŒ ๋“ค์–ด์žˆ๋‹ค.

๋งŒ์•ฝ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ๋Œ€์ƒ์— ์ ‘๊ทผํ•˜๋ ค๋ฉด ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ๊ธฐ์—์„œ ์˜ˆ์•ฝ์–ด this๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

๋‹ค์Œ ์˜ˆ์ œ์ฒ˜๋Ÿผ ํด๋ฆญํ•œ ์ด๋ฏธ์ง€์˜ ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด this.src๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

<!DOCTYPE html>
<html lang="ko">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>innerText, innerHTML ํ”„๋กœํผํ‹ฐ</title>
</head>
<body>
	<img src="images/EiffleTower.jpg" alt="ET" id="et">
	<script>
		var et=document.querySelector("#et");
		et.onclick = function(event) {
			alert("ํด๋ฆญํ•œ ์ด๋ฏธ์ง€ ํŒŒ์ผ : " + this.src);
		}
	</script>
</body>
</html>

 

addEventListener() ๋ฉ”์„œ๋“œ ์‚ฌ์šฉํ•˜๊ธฐ

์ง€๊ธˆ๊นŒ์ง€ ์‚ดํŽด๋ณธ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ๊ธฐ๋Š” ํ•œ ์š”์†Œ์— ํ•˜๋‚˜์˜ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ๊ธฐ๋งŒ์„ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋‹ค์Œ๊ณผ ๊ฐ™์ด addEventListener() ๋ฉ”์„œ๋“œ์™€ event ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•œ ์š”์†Œ์— ์—ฌ๋Ÿฌ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ์—ฐ๊ฒฐํ•ด ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

addEventListener()๋ฉ”์„œ๋“œ๋Š” ๋์— ์„ธ๋ฏธ์ฝœ๋ก ์„ ๊ผญ ๋ถ™์—ฌ์•ผ ํ•œ๋‹ค.

์š”์†Œ.addEventListner(์ด๋ฒคํŠธ, ํ•จ์ˆ˜, ์บก์ฒ˜ ์—ฌ๋ถ€);

1. ์ด๋ฒคํŠธ: ์ด๋ฒคํŠธ ์œ ํ˜•์„ ์ง€์ •ํ•œ๋‹ค. ๋‹จ click๊ณผ keypress์ฒ˜๋Ÿผ on์„ ๋ถ™์ด์ง€ ์•Š๊ณ  ์“ด๋‹ค.

2. ํ•จ์ˆ˜: ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์‹คํ–‰ํ•  ๋ช…๋ น์ด๋‚˜ ํ•จ์ˆ˜๋ฅผ ์ง€์ •ํ•œ๋‹ค. ์—ฌ๊ธฐ์—์„œ ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•  ๋•Œ๋Š” event ๊ฐ์ฒด๋ฅผ ์ธ์ˆ˜๋กœ ๋ฐ›๋Š”๋‹ค.

3. ์บก์ฒ˜ ์—ฌ๋ถ€: ์ด๋ฒคํŠธ๋ฅผ ์บก์ฒ˜ํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์ง€์ •ํ•˜๋ฉฐ ๊ธฐ๋ณธ๊ฐ’์€ false์ด๊ณ  true์™€ false ์ค‘์—์„œ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค. ture์ด๋ฉด ์บก์ฒ˜๋ง, false์ด๋ฉด ๋ฒ„๋ธ”๋งํ•œ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. ์ด๋ฒคํŠธ ์บก์ฒ˜๋ง์€ DOM์˜ ๋ถ€๋ชจ ๋…ธ๋“œ์—์„œ ์ž์‹ ๋…ธ๋“œ๋กœ ์ „๋‹ฌ๋˜๋Š” ๊ฒƒ์ด๊ณ , ์ด๋ฒคํŠธ ๋ฒ„๋ธ”๋ง์€ DOM์˜ ์ž์‹ ๋…ธ๋“œ์—์„œ ๋ถ€๋ชจ ๋…ธ๋“œ๋กœ ์ „๋‹ฌ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

 

๋‹ค์Œ์€ ์ด๋ฏธ์ง€ ์œ„๋กœ ๋งˆ์šฐ์Šค ํฌ์ธํ„ฐ๋ฅผ ์˜ฌ๋ ค๋†“์œผ๋ฉด ๋‹ค๋ฅธ ์ด๋ฏธ์ง€๋กœ ๋ฐ”๋€Œ์—ˆ๋‹ค๊ฐ€ ๋‚ด๋ ค๋†“์œผ๋ฉด ๋‹ค์‹œ ์›๋ž˜ ์ด๋ฏธ์ง€๋กœ ๋Œ์•„์˜ค๋Š” ์˜ˆ์ œ์ด๋‹ค.

addEventListener() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ changePic()ํ•จ์ˆ˜์™€ originPic() ํ•จ์ˆ˜๋ฅผ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ๊ธฐ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

<!DOCTYPE html>
<html lang="ko">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>innerText, innerHTML ํ”„๋กœํผํ‹ฐ</title>
</head>
<body>
	<img src="images/EiffleTower.jpg" alt="ET" id="et">
	<script>
		var et=document.querySelector("#et");
		et.addEventListener("mouseover",ChangePic);
		et.addEventListener("mouseout",OriginPic);

		
		function ChangePic(event) {
			this.src="images/Lewis.png"
		}
		function OriginPic(event) {
			this.src="images/EiffleTower.jpg"
		}
	</script>
</body>
</html>

 

์ด ์˜ˆ์ œ์—์„œ๋Š” ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ํ•จ์ˆ˜๋กœ ๋”ฐ๋กœ ์„ ์–ธํ•˜์—ฌ ์‚ฌ์šฉํ–ˆ์œผ๋‚˜, ํ•œ๋ฒˆ ์“ฐ๊ณ  ๋ง ํ•จ์ˆ˜๋ผ๋ฉด ๋ณดํ†ต์€ ๋ฉ”์„œ๋“œ ์•ˆ์—์„œ ํ•จ์ˆ˜ ํ‘œํ˜„์‹์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

<!DOCTYPE html>
<html lang="ko">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>innerText, innerHTML ํ”„๋กœํผํ‹ฐ</title>
</head>
<body>
	<img src="images/EiffleTower.jpg" alt="ET" id="et">
	<script>
		var et=document.querySelector("#et");
		et.addEventListener("mouseover",function(event) {
			this.src="images/Lewis.png"
		});
		et.addEventListener("mouseout",function(event) {
			this.src="images/EiffleTower.jpg"
		});
	</script>
</body>
</html>

 

CSS ์†์„ฑ์— ์ ‘๊ทผํ•˜๊ธฐ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•˜๋ฉด ์Šคํƒ€์ผ ์†์„ฑ๊ฐ’์„ ๊ฐ€์ ธ์™€์„œ ๊ทธ ๊ฐ’์„ ์›ํ•˜๋Š” ๋Œ€๋กœ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ๊ฐ ์š”์†Œ์˜ ์Šคํƒ€์ผ์„ ์ž์œ ๋กญ๊ฒŒ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์›น ๋ฌธ์„œ์—์„œ ๋‹ค์–‘ํ•œ ํšจ๊ณผ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

CSS ์†์„ฑ์— ์ ‘๊ทผํ•˜๋ ค๋ฉด ํ•ด๋‹น ์Šคํƒ€์ผ์ด ์ ์šฉ๋œ HTML ์š”์†Œ ๋‹ค์Œ์— ์˜ˆ์•ฝ์–ด style์„ ์“ฐ๊ณ  ์†์„ฑ์„ ์ ๋Š”๋‹ค.

document.์š”์†Œ๋ช….style.์†์„ฑ๋ช…

์˜ˆ๋ฅผ ๋“ค์–ด id๊ฐ€ desc์ธ ์š”์†Œ์˜ ๊ธ€์ž๋ฅผ ํŒŒ๋ž€์ƒ‰์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•œ๋‹ค.

document.getElementById("desc").style.color = "blue";

์ด๋ ‡๊ฒŒ color์ฒ˜๋Ÿผ ํ•œ ๋‹จ์–ด์ธ ์†์„ฑ๋ช…์€ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๋ฉด ๋˜์ง€๋งŒ background-color, border-radius์ฒ˜๋Ÿผ ์ค‘๊ฐ„์— ํ•˜์ดํ”ˆ์ด ์žˆ๋Š” ์†์„ฑ์€ backgroundColor๋‚˜ borderRadius์ฒ˜๋Ÿผ ๋‘ ๋‹จ์–ด๋ฅผ ํ•ฉ์ณ์„œ ์‚ฌ์šฉํ•œ๋‹ค.

์ด๋•Œ ๋‘ ๋ฒˆ์งธ ๋‹จ์–ด์˜ ์ฒซ ๊ธ€์ž๋Š” Color์™€ Radius์ฒ˜๋Ÿผ ๋Œ€๋ฌธ์ž๋กœ ํ‘œ์‹œํ•œ๋‹ค.

 

 

+form ์š”์†Œ์— ์ ‘๊ทผํ•˜๋Š” ํŠน๋ณ„ํ•œ ํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”์„œ๋“œ

input๊ณผ ๊ฐ™์€ form ์š”์†Œ์— ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด DOM์€ ํŠน๋ณ„ํ•œ ํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

element = document.forms.nameOfElement

์œ„์˜ ๊ธฐ๋ณธํ˜•์˜ nameOfElement์— ์ ‘๊ทผํ•˜๊ณ ์ž ํ•˜๋Š” ํผ ์š”์†Œ์˜ name ์†์„ฑ๊ฐ’์„ ๋„ฃ์–ด์ฃผ๋ฉด ํผ ์š”์†Œ์— ๋ฐ”๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.

ํƒœ๊ทธ ๊ตฌ์กฐ๋‚˜ class, id ์†์„ฑ์„ ๊ฑฐ์น˜์ง€ ์•Š๊ณ  ์˜ค์ง name์œผ๋กœ๋งŒ ํผ ์š”์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ ๊ฐ„ํŽธํ•˜๊ฒŒ ์“ฐ์ผ ์ˆ˜ ์žˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•˜์ž.

https://ko.javascript.info/form-elements