๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“ ๋ฐฐ์šฐ๊ณ  ์ตํžˆ๊ธฐ +/Web

(70)[Web]5์ผ์ฐจ: ((Javascript))F_WebApp03>Test022~025

by ์ข…์ด๋นจ๋Œ€ 2023. 12. 1.
TOP

๋ชฉ์ฐจ

    1. 2023.12.1(๊ธˆ)

    F_WebApp03

    ใ„ด C:\WebStudy\WebApp03\WebContent

    ใ„ดใ„ดTest022.html_์‚ฌ์šฉ์ž ์ž…๋ ฅ์ฐฝ(prompt())

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Test022.html</title>
    <link rel="stylesheet" href="css/style.css">
    
    <style type="text/css">
    	textarea {/* font-family: ๋‚˜๋ˆ”๊ณ ๋”•์ฝ”๋”ฉ; */font-weight: bold; margin: 2px;}
    	#txtCount {width: 40px; text-align:right;}
    </style>
    </head>
    <body class="section">
    
    <div>
    	<h1>์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ™œ์šฉ</h1>
    	<hr>
    </div>
    
    <!-- 
    	์—ฌ๋Ÿฌ ๋ช…์˜ ์ด๋ฆ„๊ณผ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅ๋ฐ›๊ณ 
    	๊ทธ ๋‚ด์šฉ์„ ์ „์ฒด ์ถœ๋ ฅํ•˜๋Š” ํŽ˜์ด์ง€๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค.
    	HTML, CSS, Javascript ๋ฅผ ํ™œ์šฉํ•œ๋‹ค.
    	
    	โ€ป prompt() ํ™œ์šฉ
    	
    	ํŽ˜์ด์ง€ ๋ ˆ์ด์•„์›ƒ
    	------------------------------------------------
    	< ํšŒ์› ์ •๋ณด ์ž…๋ ฅ >
    	
    	์ „์ฒด ํšŒ์› ์ˆ˜: [  ] ๋ช…
    	-----------------------
    		์ด๋ฆ„	์ „ํ™”๋ฒˆํ˜ธ
    	-----------------------
    			:
    			:
    	
    	------------------------------------------------
     -->
    
    <div class="layout">
    	<form>
    		<div class="btn_box input_box">
    			<input type="button" value="ํšŒ์› ์ •๋ณด ์ž…๋ ฅ" class="btn" onclick="addMember()">
    		</div>
    		
    		<div class="result_box">
    			<span>์ „์ฒด ํšŒ์›์ˆ˜: </span>
    			<input type="text" id="txtCount" class="txt" readonly="readonly">๋ช…
    		</div>
    	
    		<div>
    			<textarea rows="10" cols="30" id="txtResult" readonly="readonly"></textarea>	
    		</div>	
    	</form>
    </div>
    
    <script type="text/javascript">
    function addMember()
    {
    	// ํ™•์ธ
    	//alert("ํ•จ์ˆ˜ ํ˜ธ์ถœ ํ™•์ธ~!!!");
    	
    	//var temp = prompt("์•ˆ๋‚ด: ");
    	
    	var str = "";
    	var arr = new Array();
    	var n = 0;
    	
    	do
    	{
    		// โ€ป <prompt()>: ๋Œ€ํ™”์ฐฝ์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ์ž…๋ ฅ ์•ˆ๋‚ด
    		//				-> ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์™€ ๋ณ€์ˆ˜์— ๋‹ด์•„๋‚ด๊ธฐ
    		str = prompt("์ด๋ฆ„ ์ „ํ™”๋ฒˆํ˜ธ("+ (n+1)+")");
    		
    		//ํ™•์ธ
    		//alert(str);
    		
    		if(str==null || str =='.' || str==" " || str=="")
    			break;
    		
    		arr[n] = str;
    		
    		// ํ™•์ธ
    		alert(arr[n]);
    		
    		n++;		
    		
    	} while (true);
    	
    	document.getElementById("txtCount").value = arr.length;
    	/* **
    	๋ฐฐ์—ด์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ตฌ์กฐ๊ฐ€ ์ž๋ฐ”์™€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ž๋ฐ”๋ผ๋ฉด ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ
    	์ž๋ฐ”- ๋ฐฐ์—ด์„ ์—ฐ๊ฒฐ๋˜์–ด ๊ฐ€์ง€๊ณ  ์žˆ์Œ
    	์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ- ๋ฐฐ์—ด์ด ์—ฐ๊ฒฐ๋˜์–ด์žˆ์Œ
    	** */
    	
    	document.getElementById("txtResult").value = "	์ด๋ฆ„	์ „ํ™”๋ฒˆํ˜ธ\n";
    	/* **
    	txtResult๋ฅผ ํด๋ฆฌ์–ด ํ•  ํ•„์š” ์—†์Œ.
    	ใ„ด ์ด์œ : ๋ˆ„์ ํ•ฉ์„ ์ถœ๋ ฅํ•˜๋Š” ๊ตฌ์กฐ๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์—
    	** */
    	
    	for(var n=0; n<arr.length; n++)
    	{
    		document.getElementById("txtResult").value += arr[n] + "\n";
    	}
    	
    	
    }
    </script>
    
    </body>
    </html>

    ใ„ดใ„ดTest023_1.html_์—ฌ๋Ÿฌ๋ช…๋ฐ์ดํ„ฐ ๋“ฑ์ˆ˜๋ถ€์—ฌ ์ถœ๋ ฅ(ํ•จ๊ป˜ ํ‘ผ ํ’€์ด)

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Test023.html</title>
    <link rel="stylesheet" href="css/style.css">
    
    </head>
    <body class="section">
    <div>
    	<h1>์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ™œ์šฉ</h1>
    	<hr>
    </div>
    <!-- 
    	<prompt()>๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ๋ช…์˜ ์„ฑ์  ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ ๋ฐ›๊ณ ,
    	๋“ฑ์ˆ˜๋ฅผ ๋ถ€์—ฌํ•˜์—ฌ, ๋ฆฌ์ŠคํŠธ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํŽ˜์ด์ง€๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค.
    	HTML, CSS, Javascript ํ™œ์šฉํ•œ๋‹ค.
    	
    	ํŽ˜์ด์ง€ ๋ ˆ์ด์•„์›ƒ
    	-----------------------------------------------------------
    	
    	< ์„ฑ์  ์ •๋ณด ์ž…๋ ฅ > ------------- prompt() --------------- ์ด๋ฆ„ ๊ตญ์–ด ์˜์–ด ์ˆ˜ํ•™(1):
    	
    	์ „์ฒด ์ธ์› ์ˆ˜: [    ] ๋ช…
    	--------------------------------------------- ---- textarea
    	์ด๋ฆ„	๊ตญ์–ด	์˜์–ด	์ˆ˜ํ•™	์ด์ 	๋“ฑ์ˆ˜
    	๊น€๋‹ค์Šฌ	80 		70 		60 		xxx 	1๋“ฑ
    	์˜ค์ˆ˜๊ฒฝ	70  	60 		50 		xxx 	2๋“ฑ
    	๊น€๊ฒฝํƒœ	60  	50 		40 		xxx 	3๋“ฑ
    	๋ฐ•๋ฒ”๊ตฌ	50  	40 		30 		xxx 	4๋“ฑ
    	---------------------------------------------
    	
    	-----------------------------------------------------------
     -->
    <div class="layout">
    	<form>
    		<div class="btn_box input_box">
    			<input type="button" value="์„ฑ์  ์ •๋ณด ์ž…๋ ฅ" onclick="scoreInsert()">
    		</div>
    		
    		<div class="result_box">
    			<span class="tit">์ „์ฒด ์ธ์› ์ˆ˜: </span>
    			<input type="text" id="txtCount" style="width: 40px">๋ช…
    		</div>
    		
    		<div>
    			<textarea rows="10" cols="50" id="txtResult" readonly="readonly"></textarea>	
    		</div>			
    	</form>
    </div>
    
    <script type="text/javascript">
    function scoreInsert()
    {
    	var str = "";
    	var arr = new Array();
    	var temp;
    	var n = 0;
    
    	// -- ์ž…๋ ฅ๊ฐ’ ๋ฐ›์•„์˜ค๊ธฐ ๋ฐ ์ด์ ๊ณ„์‚ฐ
    	do
    	{
    		str = prompt("์ด๋ฆ„ ๊ตญ์–ด ์˜์–ด ์ˆ˜ํ•™("+(n+1)+"):");
    		
    		if(str=="" || str==" " || str==null || str==".")
    			break;
    		
    		arr[n] = str.split(" ");
    		
    		arr[n][4] = parseInt(arr[n][1]) + parseInt(arr[n][2]) + parseInt(arr[n][3]);
    					
    		n++;
    		
    	} while (true);
    	
    	// -- [test] ๋“ฑ์ˆ˜ ์ •์ƒ ์ถœ๋ ฅ์„ ์œ„ํ•œ ์ƒ˜ํ”Œ ๋ฐ์ดํ„ฐ
    	//arr = new Array(new Array("์˜ค์ˆ˜๊ฒฝ", 70, 60, 50, 180),new Array("๊น€๊ฒฝํƒœ", 60, 50, 40, 150),new Array("๋ฐ•๋ฒ”๊ตฌ", 50, 40, 30, 120),new Array("๊น€๋‹ค์Šฌ", 80, 70, 60, 210));
    	
    	// -- ์ ์ˆ˜ ๋‚ด๋ฆผ์ฐจ์ˆœ์ •๋ ฌ
    	if(arr.length>0){
    		document.getElementById("txtCount").value = arr.length;
    		
    		for(var j=1; j<arr.length; j++)
    		{
    			for(var k=0; k<arr.length-j; k++)
    			{
    				// -- [test] ๋ฐ”๋€Œ๋Š” ์—ฌ๋ถ€ ํ™•์ธ
    				//console.log("1="+arr[k][4]);
    				//console.log("2="+arr[k+1][4]);
    				//console.log(parseInt(arr[k][4]) < parseInt(arr[k+1][4]));
    				if(parseInt(arr[k][4]) < parseInt(arr[k+1][4]))
    				{
    					temp 	= arr[k];
    					arr[k] 	= arr[k+1];
    					arr[k+1]= temp;
    				}
    				//console.log("-------------");
    			}
    		}		
    		
    		//-- ํ—ค๋” ์ถœ๋ ฅ
    		document.getElementById("txtResult").value = "์ด๋ฆ„\t๊ตญ์–ด\t์˜์–ด\t์ˆ˜ํ•™\t์ด์ \t๋“ฑ์ˆ˜\n";
    			
    		//-- ๋ฐ์ดํ„ฐ ์ถœ๋ ฅ
    		for(var k=0; k<arr.length; k++)
    		{
    			for(var m=0; m<arr[k].length; m++)
    			{
    				document.getElementById("txtResult").value += arr[k][m] + "\t";
    			}
    			document.getElementById("txtResult").value += (k+1) + "๋“ฑ" + "\n";
    		}
    	}
    	
    }
    </script>
    </body>
    </html>

    ใ„ดใ„ดTest023.html_์—ฌ๋Ÿฌ๋ช…๋ฐ์ดํ„ฐ ๋“ฑ์ˆ˜๋ถ€์—ฌ ์ถœ๋ ฅ(๋‚ด ํ’€์ด)

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Test023.html</title>
    <link rel="stylesheet" href="css/style.css">
    
    </head>
    <body class="section">
    <div>
    	<h1>์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ™œ์šฉ</h1>
    	<hr>
    </div>
    <!-- 
    	<prompt()>๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ๋ช…์˜ ์„ฑ์  ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ ๋ฐ›๊ณ ,
    	๋“ฑ์ˆ˜๋ฅผ ๋ถ€์—ฌํ•˜์—ฌ, ๋ฆฌ์ŠคํŠธ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํŽ˜์ด์ง€๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค.
    	HTML, CSS, Javascript ํ™œ์šฉํ•œ๋‹ค.
    	
    	ํŽ˜์ด์ง€ ๋ ˆ์ด์•„์›ƒ
    	-----------------------------------------------------------
    	
    	< ์„ฑ์  ์ •๋ณด ์ž…๋ ฅ > ------------- prompt() --------------- ์ด๋ฆ„ ๊ตญ์–ด ์˜์–ด ์ˆ˜ํ•™(1):
    	
    	์ „์ฒด ์ธ์› ์ˆ˜: [    ] ๋ช…
    	--------------------------------------------- ---- textarea
    	์ด๋ฆ„	๊ตญ์–ด	์˜์–ด	์ˆ˜ํ•™	์ด์ 	๋“ฑ์ˆ˜
    	๊น€๋‹ค์Šฌ	80 		70 		60 		xxx 	1๋“ฑ
    	์˜ค์ˆ˜๊ฒฝ	70  	60 		50 		xxx 	2๋“ฑ
    	๊น€๊ฒฝํƒœ	60  	50 		40 		xxx 	3๋“ฑ
    	๋ฐ•๋ฒ”๊ตฌ	50  	40 		30 		xxx 	4๋“ฑ
    	---------------------------------------------
    	
    	-----------------------------------------------------------
     -->
    <div class="layout">
    	<form>
    		<div class="btn_box input_box">
    			<input type="button" value="์„ฑ์  ์ •๋ณด ์ž…๋ ฅ" onclick="scoreInsert()">
    		</div>
    		
    		<div class="result_box">
    			<span class="tit">์ „์ฒด ์ธ์› ์ˆ˜: </span>
    			<input type="text" id="txtCount" style="width: 40px">๋ช…
    		</div>
    		
    		<div>
    			<textarea rows="10" cols="50" id="txtResult" readonly="readonly"></textarea>	
    		</div>			
    	</form>
    </div>
    
    <script type="text/javascript">
    function scoreInsert()
    {
    	var str = "";
    	var arr = new Array();
    	var temp;
    	var n = 0;
    
    	// -- ์ž…๋ ฅ๊ฐ’ ๋ฐ›์•„์˜ค๊ธฐ ๋ฐ ์ด์ ๊ณ„์‚ฐ
    	do
    	{
    		str = prompt("์ด๋ฆ„ ๊ตญ์–ด ์˜์–ด ์ˆ˜ํ•™("+(n+1)+"):");
    		
    		if(str=="" || str==" " || str==null || str==".")
    			break;
    		
    		arr[n] = str.split(" ");
    		
    		arr[n][4] = parseInt(arr[n][1]) + parseInt(arr[n][2]) + parseInt(arr[n][3]);
    					
    		n++;
    		
    	} while (true);
    	
    	// -- [test] ๋“ฑ์ˆ˜ ์ •์ƒ ์ถœ๋ ฅ์„ ์œ„ํ•œ ์ƒ˜ํ”Œ ๋ฐ์ดํ„ฐ
    	//arr = new Array(new Array("์˜ค์ˆ˜๊ฒฝ", 70, 60, 50, 180),new Array("๊น€๊ฒฝํƒœ", 60, 50, 40, 150),new Array("๋ฐ•๋ฒ”๊ตฌ", 50, 40, 30, 120),new Array("๊น€๋‹ค์Šฌ", 80, 70, 60, 210));
    	
    	// -- ์ ์ˆ˜ ๋‚ด๋ฆผ์ฐจ์ˆœ์ •๋ ฌ
    	if(arr.length>0){
    		document.getElementById("txtCount").value = arr.length;
    		
    		for(var j=1; j<arr.length; j++)
    		{
    			for(var k=0; k<arr.length-j; k++)
    			{
    				// -- [test] ๋ฐ”๋€Œ๋Š” ์—ฌ๋ถ€ ํ™•์ธ
    				//console.log("1="+arr[k][4]);
    				//console.log("2="+arr[k+1][4]);
    				//console.log(parseInt(arr[k][4]) < parseInt(arr[k+1][4]));
    				if(parseInt(arr[k][4]) < parseInt(arr[k+1][4]))
    				{
    					temp 	= arr[k];
    					arr[k] 	= arr[k+1];
    					arr[k+1]= temp;
    				}
    				//console.log("-------------");
    			}
    		}		
    		
    		//-- ํ—ค๋” ์ถœ๋ ฅ
    		document.getElementById("txtResult").value = "์ด๋ฆ„\t๊ตญ์–ด\t์˜์–ด\t์ˆ˜ํ•™\t์ด์ \t๋“ฑ์ˆ˜\n";
    			
    		//-- ๋ฐ์ดํ„ฐ ์ถœ๋ ฅ
    		for(var k=0; k<arr.length; k++)
    		{
    			for(var m=0; m<arr[k].length; m++)
    			{
    				document.getElementById("txtResult").value += arr[k][m] + "\t";
    			}
    			document.getElementById("txtResult").value += (k+1) + "๋“ฑ" + "\n";
    		}
    	}
    	
    }
    </script>
    </body>
    </html>

    ใ„ดใ„ด Test024.html_์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ™œ์šฉํ•œ ํ…Œ์ด๋ธ” ๋™์  ์ƒ์„ฑ

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Test024.html</title>
    <link rel="stylesheet" href="css/style.css">
    
    </head>
    <body class="section">
    <div>
    	<h1>์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ™œ์šฉํ•œ ํ…Œ์ด๋ธ” ๋™์  ์ƒ์„ฑ</h1>
    	<hr>
    </div>
    
    <div class="layout">
    	<form>
    		<ul class="input_box">
    			<li>
    				<span stlye="tit">์ด๋ฆ„</span> <input type="text" id="txtName" class="txt">
    			</li>			
    			<li>
    				<span stlye="tit">์ „ํ™”๋ฒˆํ˜ธ</span> <input type="text" id="txtTel" class="txt">
    			</li>			
    			<li>
    				<span stlye="tit">์ฃผ์†Œ</span> <input type="text" id="txtAddr" class="txt">
    			</li>			
    		</ul>
    		
    		<div class="btn_box">
    			<button type="button" onclick="addMember()">ํšŒ์› ์ •๋ณด ์ž…๋ ฅ</button>
    		</div>
    		
    		<div class="tbl_ty01">
    			<table border="1" id="memberTbl">
    				<tr><td>์ด๋ฆ„</td><td>์ „ํ™”๋ฒˆํ˜ธ</td><td>์ฃผ์†Œ</td></tr>
    				<tr><td>์ž„ํ•˜์„ฑ</td><td>010-1111-1111</td><td>์ œ์ฃผ ์„œ๊ท€ํฌ</td></tr>
    				<tr><td>๊น€๋ฏผ์ง€</td><td>010-2222-2222</td><td>์ „๋‚จ ์—ฌ์ˆ˜</td></tr>
    				<tr><td>์ •ํ˜„์šฑ</td><td>010-3333-3333</td><td>๊ฒฝ๋‚จ ์‚ฐ์ฒญ</td></tr>
    				<tr><td>๋ฐ•๋‚˜์˜</td><td>010-4444-4444</td><td>์„œ์šธ ๋งˆํฌ๊ตฌ</td></tr>
    			</table>
    		</div>
    	</form>
    </div>
    
    <script type="text/javascript">
    function addMember()
    {
    	// ํ™•์ธ
    	
    	var name = document.getElementById("txtName").value;	// "๊ธธํ˜„์šฑ"
    	var tel = document.getElementById("txtTel").value;		// "010-5555-5555"
    	var addr = document.getElementById("txtAddr").value;	// "๊ฒฝ๊ธฐ๋„ ๋ถ„๋‹น"
    	
    	// ํ™•์ธ
    	//alert(name + " " + tel + " " + addr);
    	
    	// table ์—˜๋ฆฌ๋จผํŠธ ์ ‘๊ทผ(#memberTbl);
    	var tableNode = document.getElementById("memberTbl");
    	
    	// ํ™•์ธ
    	//alert(tableNode);
    	
    	// table tr td th
    	// table thead tbody tr td th
    	
    	// tbody ์—˜๋ฆฌ๋จผํŠธ ์ ‘๊ทผ -> ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์ƒ๋žต
    	// โ€ป ์ฃผ์˜. ๋ธŒ๋ผ์šฐ์ €์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๊ฒฐ๊ณผ
    	
    	// ํ…Œ์ŠคํŠธ
    	//alert(tableNode.childNodes[0].nodeType);
    	//--==>> ์ถœ๋ ฅ๊ฒฐ๊ณผ: 3
    	
    	//alert(tableNode.childNodes[0]);
    	//--==>> ์ถœ๋ ฅ๊ฒฐ๊ณผ: [object Text]
    	
    	//alert(tableNode.childNodes[1]);
    	//--==>> ์ถœ๋ ฅ๊ฒฐ๊ณผ: [object HTMLTableSectionElement]
    	
    	/* **
    	- childNodes: ์ž์‹๋…ธ๋“œ
    	- ๋ณดํ†ต ๋ณต์ˆ˜์˜ ์—˜๋ฆฌ๋จผํŠธ๋Š” ๋ฐฐ์—ด(ex.childNodes)
    	** */
    	
    	// **tbody๋ฅผ ์“ฐ๊ฒŒ ๋  ๊ฒฝ์šฐ ์ฐธ์กฐํ•˜๊ธฐ**
    	/* 
    	if(tableNoe.childnodes[0].nodeType==1)
    	{
    		tbodyNode = tableNode.childNodes[0];	// IE
    	}
    	else
    	{
    		tbodyNode = tableNode.childNodes[1];	// CR, FF (IE๋ฅผ ์ œ์™ธํ•œ ๊ฑฐ์˜ ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €)
    	}
    	 */
    	 
    	// <tr></tr> ์—˜๋ฆฌ๋จผํŠธ ๋™์  ์ƒ์„ฑ
    	// <td></td> ์—˜๋ฆฌ๋จผํŠธ ๋™์  ์ƒ์„ฑ
    	
    	var trNode = document.createElement("tr");		//<tr></tr> 
    	// **์—ฌ๋Š”ํƒœ๊ทธ ๋‹ซ๋Š”ํƒœ๊ทธ ๋”ฐ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, โ†–๊ตฌ๋ฌธ ์ž‘์„ฑ์‹œ ์•Œ์•„์„œ ์ƒ์„ฑ๋จ**
    	/* 
    	var tdNode1 = document.createElement("td");		// <td></td>
    	var nameNode = document.createTextNode(name);	// <td> ๋…ธ๋“œ์— ์ถ”๊ฐ€ํ•  "๊ธธํ˜„์šฑ" ํ…์ŠคํŠธ ๋…ธ๋“œ ใ…ใ…‡์„ฑ
    	// **ํ…์ŠคํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑ๋œ ๊ฐ€์ง€**
    	
    	var tdNode2 = document.createElement("td");		// <td></td>
    	var telNode = document.createTextNode(tel);		// <td> ๋…ธ๋“œ์— ์ถ”๊ฐ€ํ•  "010-5555-5555"
    	
    	var tdNode = document.createElement("td");		// <td></td>
    	var addrNode = documtne.createTextNode(addr);	// <td> ๋…ธ๋“œ์— ์ถ”๊ฐ€ํ•  "๊ฒฝ๊ธฐ๋„ ๋ถ„๋‹น"
    	
    	tdNode1.appendChild(nameNode);					// <td>"๊ธธํ˜„์šฑ"</td>
    	tdNode2.appendChild(telNode);					// <td>"010-5555-5555"</td>
    	tdNode3.appendChild(addrNode);					// <td>"๊ฒฝ๊ธฐ๋„ ๋ถ„๋‹น"</td>
    	*/
    	
    	trNode.appendChild(createTdNode(name));			// <tr><td>"๊ธธํ˜„์šฑ"</td></tr>
    	trNode.appendChild(createTdNode(tel));			// <tr><td>"๊ธธํ˜„์šฑ"</td><td>"010-5555-5555"</td></tr>
    	trNode.appendChild(createTdNode(addr));			// <tr><td>"๊ธธํ˜„์šฑ"</td><td>"010-5555-5555"</td><td>"๊ฒฝ๊ธฐ๋„ ๋ถ„๋‹น"</td></tr>
    
    	tableNode.appendChild(trNode);
    }
    
    
    function createTdNode(val)
    {
    	var textNode = document.createTextNode(val);
    	var tdNode = document.createElement("td");
    	tdNode.appendChild(textNode);
    	
    	return tdNode;
    }
    
    
    </script>
    </body>
    </html>

    ใ„ดใ„ด Test025_01.html(๋ฌธ์ œ๋งŒ)

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Test025.html</title>
    <link rel="stylesheet" href="css/style.css">
    
    </head>
    <body class="section">
    
    <div>
    	<h1>ํ…Œ์ด๋ธ” ๋™์  ์ƒ์„ฑ์œผ๋กœ ๋งŒ๋…„๋‹ฌ๋ ฅ ๊ทธ๋ฆฌ๊ธฐ</h1>
    	<hr>
    </div>
    
    <div class="layout">
    	<form>
    		<div class="input_box">
    			<input type="text" id="txtYear" class="txt" style="width: 80px">๋…„
    			<input type="text" id="txtYear" class="txt" style="width: 40px">์›”
    		</div>
    
    		<div class="btn_box">
    			<input type="button" class="btn" value="๋งŒ๋…„๋‹ฌ๋ ฅ ๊ทธ๋ฆฌ๊ธฐ">
    		</div>		
    	
    		<div>
    			<table border="1" id="calendarTbl">
    				<tr>
    					<th>์ผ</th>
    					<th>์›”</th>
    					<th>ํ™”</th>
    					<th>์ˆ˜</th>
    					<th>๋ชฉ</th>
    					<th>๊ธˆ</th>
    					<th>ํ† </th>
    				</tr>
    			</table>		
    		</div>	
    	</form>
    </div>
    
    <script type="text/javascript">
    	// ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋…„, ์›” ๊ฐ€์ ธ์˜ค๊ธฐ
    	
    	// โ€ป ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋…„๋„, ์›” -> ์—ฌ๊ธฐ์— ํ•ด๋‹นํ•˜๋Š” 1์ผ์˜ ์š”์ผ ์•Œ์•„๋‚ด๊ธฐ~!!
    	
    	// Math.floor();		-> ์†Œ์ˆ˜๋ถ€ ์ ˆ์‚ญ	-> parseInt()
    	// Math.ceil();			-> ์†Œ์ˆ˜๋ถ€ ์˜ฌ๋ฆผ
    	// Math.round();		-> ์†Œ์ˆ˜๋ถ€ ๋ฐ˜์˜ฌ๋ฆผ
    	
    	// 1๋‹จ๊ณ„. 1๋…„ 1์›” 1์ผ ๋ถ€ํ„ฐ.. ์ž…๋ ฅ ๋…„๋„ ๊ธฐ์ค€ ์ „๋…„๋„ 12์›” 31์ผ ๊นŒ์ง€์˜ ์ด ๋‚ ์งœ ์ˆ˜ ๊ตฌํ•˜๊ธฐ
    	// 2๋‹จ๊ณ„. ํ•ด๋‹น ๋…„๋„์˜ 1์›” 1์ผ๋ถ€ํ„ฐ.. ํ•ด๋‹น ๋…„๋„ ํ•ด๋‹น ์›” 1์ผ ๊นŒ์ง€์˜ ์ด ๋‚ ์งœ ์ˆ˜ ๊ตฌํ•ด์„œ 1๋‹จ๊ณ„์— ๋”ํ•˜๊ธฐ
    	// 3๋‹จ๊ณ„. ํ•ด๋‹น ๋…„๋„์˜ ํ•ด๋‹น ์›”์˜ ์ฒซ ๋‚ (1์ผ)์˜ ์š”์ผ ๊ตฌํ•˜๊ธฐ
    	// 4๋‹จ๊ณ„. ํ•ด๋‹น ๋…„๋„ ํ•ด๋‹น ์›”์˜ ๋งˆ์ง€๋ง‰ ๋‚ ์งœ ๊ตฌํ•˜๊ธฐ
    	//		(28์ผ or 29์ผ or 30์ผ or 31์ผ)
    	// 5๋‹จ๊ณ„. ํ•ด๋‹น ๋…„๋„ ํ•ด๋‹น ์›” ๊ธฐ์ค€ ๋‹ฌ๋ ฅ ๊ตฌ์„ฑ(์ถœ๋ ฅ, ๊ทธ๋ฆฌ๊ธฐ)
    	//		- ํ•ด๋‹น ์›”์˜ 1์ผ์ด ์‹œ์ž‘๋˜๊ธฐ ์ „์— ๋นˆ ์นธ td ์ฑ„์šฐ๊ธฐ
    	
    
    </script>
    
    </body>
    </html>

    ใ„ดใ„ด Test025.html(๋‚ด๊ฐ€ ํ‘ผ ํ’€์ด)

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Test025.html</title>
    <link rel="stylesheet" href="css/style.css">
    
    </head>
    <body class="section">
    
    <div>
    	<h1>ํ…Œ์ด๋ธ” ๋™์  ์ƒ์„ฑ์œผ๋กœ ๋งŒ๋…„๋‹ฌ๋ ฅ ๊ทธ๋ฆฌ๊ธฐ</h1>
    	<hr>
    </div>
    
    <div class="layout">
    	<form>
    		<div class="input_box">
    			<input type="text" id="txtYear" class="txt" style="width: 80px">๋…„
    			<input type="text" id="txtMonth" class="txt" style="width: 40px">์›”
    		</div>
    
    		<div class="btn_box">
    			<input type="button" class="btn" value="๋งŒ๋…„๋‹ฌ๋ ฅ ๊ทธ๋ฆฌ๊ธฐ" onclick="actionCalendar()">
    		</div>		
    	
    		<div>
    			<table border="1" id="calendarTbl">
    				<tr>
    					<th>์ผ</th>
    					<th>์›”</th>
    					<th>ํ™”</th>
    					<th>์ˆ˜</th>
    					<th>๋ชฉ</th>
    					<th>๊ธˆ</th>
    					<th>ํ† </th>
    				</tr>
    			</table>		
    		</div>	
    	</form>
    </div>
    <script type="text/javascript">
    /* 1. ๋‹ฌ์˜ ๋งˆ์ง€๋ง‰ ๋‚ ์งœ
    2. ์œค๋…„๊ณ„์‚ฐ(4์˜ ๋ฐฐ์ˆ˜์ด๊ณ  100์˜ ๋ฐฐ์ˆ˜๊ฐ€ ์•„๋‹ˆ๊ฑฐ๋‚˜, 400์˜ ๋ฐฐ์ˆ˜) -> 29
    3. ์ž…๋ ฅ๋ฐ›์€ ์—ฐ๋„์˜ ์ด์ „ ๋…„๋„ ๋‚ ์ˆ˜๊นŒ์ง€์˜ ๊ณ„์‚ฐ
    4. ์ž…๋ ฅ๋ฐ›์€ ๋ฐ›์€ ์—ฐ๋„(ํ•ด๋‹น ์—ฐ๋„)์˜ ์ „ ์›”๊นŒ์ง€ ๊ณ„์‚ฐ
    5. ์š”์ผ= ๋‚ ์ˆ˜%7 */
    	
    function actionCalendar()
    {
    	/* var txtYear = document.getElementById("txtYear").value;	
    	var txtMonth = document.getElementById("txtMonth").value; */
    	
    	// 1๋…„ 1์›” 1์ผ์€ ์›”์š”์ผ!
    	
    	var txtYear = "2023";
    	var txtMonth = "12";
    	var allDay=0;
    	var monthDay=0;
    	var week=0;
    	var weekText;
    	//console.log("1: "+ txtYear);
    	//console.log("2: "+ txtMonth);
    	
    	//1. ๋‹ฌ์˜ ๋งˆ์ง€๋ง‰ ๋‚ ์งœ
    	var lastDay = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
    	//						1  2  3  4  5  6  7  8  9  10 11 12
    	
    	//2. ์œค๋…„๊ณ„์‚ฐ(4์˜ ๋ฐฐ์ˆ˜์ด๊ณ  100์˜ ๋ฐฐ์ˆ˜๊ฐ€ ์•„๋‹ˆ๊ฑฐ๋‚˜, 400์˜ ๋ฐฐ์ˆ˜) -> 29
    	if((Number(txtYear)%4==0) && (Number(txtYear)%100!=0) || (Number(txtYear)%400==0))
    		lastDay[1] = 29
    	//console.log("2์›”: "+lastDay[1]);
    	
    	//3. ์ž…๋ ฅ๋ฐ›์€ ์—ฐ๋„์˜ ์ด์ „ ๋…„๋„ ๋‚ ์ˆ˜๊นŒ์ง€์˜ ๊ณ„์‚ฐ
    	allDay = (Number(txtYear)-1)*365 + Math.floor((Number(txtYear)-1)/4) - Math.floor((Number(txtYear)-1)/100) + Math.floor((Number(txtYear)-1)/400);
    	allDay += 1;
    	//console.log("๋ชจ๋“  ๋‚ : "+allDay);
    	
    	//4. ์ž…๋ ฅ๋ฐ›์€ ๋ฐ›์€ ์—ฐ๋„(ํ•ด๋‹น ์—ฐ๋„)์˜ ์ „ ์›”๊นŒ์ง€ ๊ณ„์‚ฐ
    	for (var i = 0; i < (Number(txtMonth)-1); i++)
    	{
    		monthDay += Number(lastDay[i]);
    	}
    	//console.log("์ „์›”๊นŒ์ง€์˜ ๋‚ : "+ monthDay);
    	
    	//5. ์š”์ผ= ๋‚ ์ˆ˜%7
    	week = Math.floor((allDay + monthDay)%7);
    	//console.log(week);
    	
    	switch(week)
    	{
    		case 0: 
    			weekText = "์ผ";break;
    		case 1: 
    			weekText = "์›”";break;
    		case 2: 
    			weekText = "ํ™”";break;
    		case 3: 
    			weekText = "์ˆ˜";break;
    		case 4: 
    			weekText = "๋ชฉ";break;
    		case 5: 
    			weekText = "๊ธˆ";break;
    		case 6: 
    			weekText = "ํ† ";break;	
    	}
    	//console.log("ํ•ด๋‹น์›”์˜ 1์ผ ์š”์ผ: "+ weekText);
    	
    	//6. ๊ทธ๋ฆฌ๊ธฐ
    	var tblNode = document.getElementById("calendarTbl");
    	
    	var trNode = document.createElement("tr");
    	
    	for (var i = 1; i <= week; i++)
    	{
    		trNode.appendChild(createTdNode(" "));
    		//console.log(trNode);
    		if(i%7==0)
    		{
    			tblNode.appendChild(trNode);
    			trNode = document.createElement("tr");
    		}
    		
    	}
    	tblNode.appendChild(trNode);
    	
    	for (var i = 1; i <= lastDay[Number(txtMonth)-1]; i++)
    	{
    		trNode.appendChild(createTdNode(i));
    		//alert(trNode[0]);
    		console.log(trNode);
    		if((i+week)%7==0)
    		{
    			tblNode.appendChild(trNode);
    			trNode = document.createElement("tr");
    		}
    		
    	}
    	tblNode.appendChild(trNode);	
    }
    	
    function createTdNode(val)
    {
    	var dayText = document.createTextNode(val);
    	var tdNode = document.createElement("td");
    	tdNode.appendChild(dayText);
    	
    	return tdNode;	
    }
    
    	
    </script>
    
    
    </body>
    </html>

    ใ„ดใ„ด Test025_01.html(ํ•จ๊ป˜ ํ‘ผ ํ’€์ด)

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Test025_1.html</title>
    <link rel="stylesheet" href="css/style.css">
    
    </head>
    <body class="section">
    
    <div>
    	<h1>ํ…Œ์ด๋ธ” ๋™์  ์ƒ์„ฑ์œผ๋กœ ๋งŒ๋…„๋‹ฌ๋ ฅ ๊ทธ๋ฆฌ๊ธฐ</h1>
    	<hr>
    </div>
    
    <div class="layout">
    	<form>
    		<div class="input_box">
    			<input type="text" id="txtYear" class="txt" style="width: 80px">๋…„
    			<input type="text" id="txtMonth" class="txt" style="width: 40px">์›”
    		</div>
    
    		<div class="btn_box">
    			<input type="button" class="btn" value="๋งŒ๋…„๋‹ฌ๋ ฅ ๊ทธ๋ฆฌ๊ธฐ" onclick="actionCalendar()">
    		</div>		
    	
    		<!-- 5-1 & 5-2 ์ธ ๊ฒฝ์šฐ... -->
    		
    		<div>
    			<table border="1" id="calendarTbl">
    				<tr>
    					<th>์ผ</th>
    					<th>์›”</th>
    					<th>ํ™”</th>
    					<th>์ˆ˜</th>
    					<th>๋ชฉ</th>
    					<th>๊ธˆ</th>
    					<th>ํ† </th>
    				</tr>
    			</table>		
    		</div>
    			
    		
    		<!-- 5-3 ์ธ ๊ฒฝ์šฐ... -->
    		<!-- <div>
    			<div id="newCalendarBox"></div>
    		</div> -->
    	</form>
    </div>
    
    <script type="text/javascript">
    function actionCalendar()
    {
    
    	// ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋…„, ์›” ๊ฐ€์ ธ์˜ค๊ธฐ
    	var yearStr = document.getElementById("txtYear").value;
    	var monthStr = document.getElementById("txtMonth").value;
    	
    	// ๋ฌธ์ž์—ด ํ˜•ํƒœ๋กœ ํ™•์ธํ•ด ๋ณผ์ˆ˜ ์žˆ๋Š” ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์ฝ”๋“œ ์‚ฝ์ž… ๊ฐ€๋Šฅ~!!!
    	var year = parseInt(yearStr);
    	var month = parseInt(monthStr);
    	
    	// **๋…„๋„, ์›” ๋”ฐ๋กœ ํ•„ํ„ฐ๋ง**
    	/*
    	if (year < 1)
    	{
    		alert("์ž…๋ ฅ ๋…„๋„ ์ด์ƒ~!!!");
    		return;
    	}
    	
    	if (month < 1 || month > 12)
    	{
    		alert("์ž…๋ ฅ ์›” ์ด์ƒ");
    		return
    	}
    	 */
    	 
    	// **๋…„๋„, ์›” ๊ฐ™์ด ํ•„ํ„ฐ๋ง**
    	if (year < 1 || month < 1 || month > 12)
    	{
    		alert("์ž…๋ ฅํ•œ ๋…„ ๋˜๋Š” ์›”์ด ์œ ํšจํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค~!!!");
    		return;
    	}
    	
    	// โ€ป ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋…„๋„, ์›” -> ์—ฌ๊ธฐ์— ํ•ด๋‹นํ•˜๋Š” 1์ผ์˜ ์š”์ผ ์•Œ์•„๋‚ด๊ธฐ~!!
    	
    	// Math.floor();		-> ์†Œ์ˆ˜๋ถ€ ์ ˆ์‚ญ	-> parseInt()
    	// Math.ceil();			-> ์†Œ์ˆ˜๋ถ€ ์˜ฌ๋ฆผ
    	// Math.round();		-> ์†Œ์ˆ˜๋ถ€ ๋ฐ˜์˜ฌ๋ฆผ
    	
    	// 1๋‹จ๊ณ„. 1๋…„ 1์›” 1์ผ ๋ถ€ํ„ฐ.. ์ž…๋ ฅ ๋…„๋„ ๊ธฐ์ค€ ์ „๋…„๋„ 12์›” 31์ผ ๊นŒ์ง€์˜ ์ด ๋‚ ์งœ ์ˆ˜ ๊ตฌํ•˜๊ธฐ
    	//**์ž๋ฐ”์—์„œ๋Š” ์ •์ˆ˜ / ์ •์ˆ˜ ๊ฐ€ ์ •์ˆ˜๋งŒ ๋‚˜์˜ค์ง€๋งŒ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ์†Œ์ˆ˜์ ๊นŒ์ง€ ๋ชจ๋‘ ์ถœ๋ ฅ๋จ**
    	var total = 0;
    	total = (year-1)*365 + parseInt((year-1)/4) - parseInt((year-1)/100) + parseInt((year-1)/400);
    	
    	// ์˜๋ฏธ ํ™•์ธ
    	//alert("1๋…„1์›”1์ผ ~ "+ (year-1) + "๋…„ 12์›” 31์ผ: "+ total + "์ผ");
    	//--==>> 1๋…„1์›”1์ผ ~ 2023๋…„ 12์›” 31์ผ: 738885์ผ
    	
    	// 2๋‹จ๊ณ„. ํ•ด๋‹น ๋…„๋„์˜ 1์›” 1์ผ๋ถ€ํ„ฐ.. ํ•ด๋‹น ๋…„๋„ ํ•ด๋‹น ์›” 1์ผ ๊นŒ์ง€์˜ ์ด ๋‚ ์งœ ์ˆ˜ ๊ตฌํ•ด์„œ 1๋‹จ๊ณ„์— ๋”ํ•˜๊ธฐ
    	//		1๋‹จ๊ณ„ ๋”ํ•˜๊ธฐ
    	var m = [31,28,31,30,31,30,31,30,31,31,30,31];
    	
    	// ํ™•์ธ
    	//alert(m.length);
    	//--==>> 12
    	
    	// (a)
    	/* 
    	for (var i=0; i<month-1; i++)
    		total += m[i];
    	total++;
    	
    	if (month >= 3 && (year%4==0 && year%100!=0 || year%400==0))
    		total++;
    	 */
    	 
    	// (b)
    	if(year%4==0 && year%100!=0 || year%400==0)
    		m[1]=29;
    	
    	for(var i=0; i<month-1; i++)
    		total += m[i];
    	total++;
    	
    	// ์˜๋ฏธ ํ™•์ธ
    	//alert("1๋…„1์›”1์ผ ~ "+ (year-1) + "๋…„ 12์›” 31์ผ: "+ total + "์ผ");
    	//--==>> 1๋…„1์›”1์ผ ~ 2023๋…„ 12์›” 31์ผ: 738946์ผ
    	
    	// 3๋‹จ๊ณ„. ํ•ด๋‹น ๋…„๋„์˜ ํ•ด๋‹น ์›”์˜ ์ฒซ ๋‚ (1์ผ)์˜ ์š”์ผ ๊ตฌํ•˜๊ธฐ
    	var days = total%7;
    	// ํ™•์ธ
    	//alert(days);
    	//--==>> 5 (2024๋…„ 3์›” ๊ธฐ์ค€) -> 2024๋…„ 3์›” 1์ผ์€ ๊ธˆ์š”์ผ
    	//--==>> 2 (2023๋…„ 8์›” ๊ธฐ์ค€) -> 2023๋…„ 8์›” 1์ผ์€ ํ™”์š”์ผ
    	
    	// 4๋‹จ๊ณ„. ํ•ด๋‹น ๋…„๋„ ํ•ด๋‹น ์›”์˜ ๋งˆ์ง€๋ง‰ ๋‚ ์งœ ๊ตฌํ•˜๊ธฐ
    	//		(28์ผ or 29์ผ or 30์ผ or 31์ผ)
    	var lastDay = m[month-1];
    
    	// ์œ„์—์„œ (a)๋ฐฉ์‹์œผ๋กœ ์ฒ˜๋ฆฌํ–ˆ์„ ๊ฒฝ์šฐ๋Š” ์ถ”๊ฐ€ ์—ฐ์‚ฐ ํ•„์š”
    	/* 
    	if(month==2 && (year%4==0 && year%100!=0 || year%400==0))	//**2์›”์ธ ๋™์‹œ์— ์œค๋…„์ด๋ผ๋ฉด**
    	{
    		lastDay=29;
    	}
    	 */
    	 
    	// ํ™•์ธ
    	//alert(lastDay);
    	//--==>> 29 (2024๋…„ 2์›” ๊ธฐ์ค€)
    	//		28 (2023๋…„ 2์›” ๊ธฐ์ค€)
    	//		31 (2024๋…„ 3์›” ๊ธฐ์ค€)
    	 
    	// 5๋‹จ๊ณ„. ํ•ด๋‹น ๋…„๋„ ํ•ด๋‹น ์›” ๊ธฐ์ค€ ๋‹ฌ๋ ฅ ๊ตฌ์„ฑ(์ถœ๋ ฅ, ๊ทธ๋ฆฌ๊ธฐ)
    	
    	// 5-1. ๊ธฐ์กด ํ…Œ์ด๋ธ” ํ™œ์šฉํ•˜๊ธฐ
    	//------------------------------------------------------------------------------------
    	
    	/*
    	var tableNode = document.getElementById("calendarTbl");
    	// <table id=calendarTbl>...</table>
    	
    	var trNode = document.createElement("tr");
    	// <tr>..</tr>
    	
    	//	- ํ•ด๋‹น์›”์˜ 1์ผ์ด ์‹œ์ž‘๋˜๊ธฐ ์ „์— ๋นˆ์นธ td ์ฑ„์šฐ๊ธฐ
    	for(var i=0; i<days; i++)
    	{
    		trNode.appendChild(createTdNode(""));
    	}
    	//	- 1์ผ ๋ถ€ํ„ฐ.. ํ•ด๋‹น ์›”์˜ ๋งˆ์ง€๋ง‰ ๋‚ ์งœ๊นŒ์ง€ ๋นˆ์นธ td ์ฑ„์šฐ๊ธฐ
    	var d = 1;
    	for(var d=1; d<=lastDay; d++)
    	{
    		trNode.appendChild(createTdNode(d));		// ์–ด๋–ค ํ˜•ํƒœ์ธ์ง€ ํ™•์ธ
    		
    		// ์ผ์š”์ผ์„ ๊ทธ๋ฆฌ๊ธฐ ์‹œ์ž‘ํ•  ๋•Œ...
    		// ๊ธฐ์กด tr ๊ตฌ์„ฑ์„ ๋งˆ๋ฌด๋ฆฌํ•˜๊ณ 
    		// ๋‹ค์‹œ ์ƒˆ๋กœ์šด tr์„ ๊ตฌ์„ฑ
    		
    		// check~!!! ---------------------------------
    		if((d+days)%7==0) 							// ์ผ์š”์ผ์„ ๊ทธ๋ฆฌ๊ธฐ ์ „์—...
    		{
    			//tableNode.appendChild(trNode);			// trNode ๋ฅผ tableNode ์— ์ถ”๊ฐ€
    			tbodyNode.appendChild(trNode);
    			trNode = document.createElement("tr");	// ์ƒˆ๋กœ์šด trNode ๊ตฌ์„ฑ
    		}
    		// ---------------------------------- check~!!!
    	}
    	
    	// ํ™•์ธ
    	//-- 31์ผ ๊นŒ์ง€ ์ถœ๋ ฅํ•œ ๋‚ ์งœ์—์„œ ํ™•์ธํ•œ ๊ฒฐ๊ณผ
    	//alert(d);
    	//--==>> 32 **(2023๋…„ 3์›” -> 31์ด ๋งˆ์ง€๋ง‰ ๋‚ , d ์ถœ๋ ฅ์€ 32)**
    	
    	//	- ๋‚ ์งœ ๊ตฌ์„ฑ ์ดํ›„ ๋งˆ์ง€๋ง‰ ๋นˆ์นธ td ์ฑ„์šฐ๊ธฐ
    	//		(์ตœ์ข…์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋œ ๋‚ ์งœ๊ฐ€ ์ผ์š”์ผ ๊ฐœํ–‰์ด ์ ์šฉ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ๋งŒ...)
    	// **์ค‘์š”**
    	if( ((d-1)+days)%7!=0 )
    	{
    		for(var i=0; i<7; i++,d++)	//**d ๋„ 1์”ฉ ์ฆ๊ฐ€์‹œ์ผœ์•ผํ•จ**
    		{
    			trNode.appendChild(createTdNode(""));
    			
    			if((d+days)%7==0)
    			{
    				//tableNode.appendChild(trNode);
    				tbodyNode.appendChild(trNode);
    				break;			
    			}				
    		}
    	}
    	
    	//tableNode.appendChild(trNode);
    	*/
    	//--------------------------------------------------------------- ๊ธฐ์กด ํ…Œ์ด๋ธ” ํ™œ์šฉํ•˜๊ธฐ
    
    	
    	
    	// 5-2. tbody ํ™œ์šฉํ•˜๊ธฐ
    	//------------------------------------------------------------------------------------
    	
    	var tableNode = document.getElementById("calendarTbl");
    	var tbodyNode = null;
    	
    	// ํ™•์ธ
    	//alert(tableNode);							//--==>> [object HTMLTableElement]
    	//alert(tableNode.childNodes[0]);			//--==>> [object Text]
    	//alert(tableNode.childNodes[0].nodeType) 	//--==>> 3
    	//alert(tableNode.childNodes[1]);			//--==>> [object HTMLTableSectionElement]
    	
    	if(tableNode.childNodes[0].nodeType==1)
    		tbodyNode = tableNode.childNodes[0];
    	else
    		tbodyNode = tableNode.childNodes[1];	// ํฌ๋กฌ
    	
    	// ํ™•์ธ
    	//alert(tbodyNode.childNodes.length);			//--==>> 2
    	//alert(tbodyNode.childNodes[0]);				//--==>> [object HTMLTableElement]
    	//alert(tbodyNode.childNodes[1]);				//--==>> [object Text]
    	
    	// tbodyNode ์˜ ๊ธฐ์กด ์ž์‹ ๋…ธ๋“œ ์‚ญ์ œ ๊ณผ์ •
    	for (var n=tbodyNode.childNodes.length-1; n>=0; n--)	// 1 0
    	{
    		tbodyNode.removeChild(tbodyNode.childNodes[n]);
    	}
    	
    	// <table></table>
    	
    	var trNode = document.createElement("tr");		//<tr></tr>
    	
    	// ์š”์ผ ์ด๋ฆ„ ๋‹ค์‹œ ์ถœ๋ ฅํ•˜๊ธฐ
    	var dayNames = ["์ผ์š”์ผ", "์›”์š”์ผ", "ํ™”์š”์ผ", "์ˆ˜์š”์ผ", "๋ชฉ์š”์ผ", "๊ธˆ์š”์ผ", "ํ† ์š”์ผ"];
    	for(var i=0; i<dayNames.length; i++)
    	{
    		trNode.appendChild(createTdNode(dayNames[i]));
    	}
    	tbodyNode.appendChild(trNode);
    	
    	//*******************์œ„์˜ ๋‚ด์šฉ๊ณผ ๊ฐ™์€ ๋ถ€๋ถ„*******************
    	var trNode = document.createElement("tr");
    	// <tr>..</tr>
    	
    	//	- ํ•ด๋‹น์›”์˜ 1์ผ์ด ์‹œ์ž‘๋˜๊ธฐ ์ „์— ๋นˆ์นธ td ์ฑ„์šฐ๊ธฐ
    	for(var i=0; i<days; i++)
    	{
    		trNode.appendChild(createTdNode(""));
    	}
    	//	- 1์ผ ๋ถ€ํ„ฐ.. ํ•ด๋‹น ์›”์˜ ๋งˆ์ง€๋ง‰ ๋‚ ์งœ๊นŒ์ง€ ๋นˆ์นธ td ์ฑ„์šฐ๊ธฐ
    	var d = 1;
    	for(var d=1; d<=lastDay; d++)
    	{
    		trNode.appendChild(createTdNode(d));		// ์–ด๋–ค ํ˜•ํƒœ์ธ์ง€ ํ™•์ธ
    		
    		// ์ผ์š”์ผ์„ ๊ทธ๋ฆฌ๊ธฐ ์‹œ์ž‘ํ•  ๋•Œ...
    		// ๊ธฐ์กด tr ๊ตฌ์„ฑ์„ ๋งˆ๋ฌด๋ฆฌํ•˜๊ณ 
    		// ๋‹ค์‹œ ์ƒˆ๋กœ์šด tr์„ ๊ตฌ์„ฑ
    		
    		// check~!!! ---------------------------------
    		if((d+days)%7==0) 							// ์ผ์š”์ผ์„ ๊ทธ๋ฆฌ๊ธฐ ์ „์—...
    		{
    			//tableNode.appendChild(trNode);			// trNode ๋ฅผ tableNode ์— ์ถ”๊ฐ€
    			tbodyNode.appendChild(trNode);
    			trNode = document.createElement("tr");	// ์ƒˆ๋กœ์šด trNode ๊ตฌ์„ฑ
    		}
    		// ---------------------------------- check~!!!
    	}
    	
    	// ํ™•์ธ
    	//-- 31์ผ ๊นŒ์ง€ ์ถœ๋ ฅํ•œ ๋‚ ์งœ์—์„œ ํ™•์ธํ•œ ๊ฒฐ๊ณผ
    	//alert(d);
    	//--==>> 32 **(2023๋…„ 3์›” -> 31์ด ๋งˆ์ง€๋ง‰ ๋‚ , d ์ถœ๋ ฅ์€ 32)**
    	
    	//	- ๋‚ ์งœ ๊ตฌ์„ฑ ์ดํ›„ ๋งˆ์ง€๋ง‰ ๋นˆ์นธ td ์ฑ„์šฐ๊ธฐ
    	//		(์ตœ์ข…์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋œ ๋‚ ์งœ๊ฐ€ ์ผ์š”์ผ ๊ฐœํ–‰์ด ์ ์šฉ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ๋งŒ...)
    	// **์ค‘์š”**
    	if( ((d-1)+days)%7!=0 )
    	{
    		for(var i=0; i<7; i++,d++)	//**d ๋„ 1์”ฉ ์ฆ๊ฐ€์‹œ์ผœ์•ผํ•จ**
    		{
    			trNode.appendChild(createTdNode(""));
    			
    			if((d+days)%7==0)
    			{
    				//tableNode.appendChild(trNode);
    				tbodyNode.appendChild(trNode);
    				break;			
    			}				
    		}
    	}
    	
    	//tableNode.appendChild(trNode);
    	
    	//--------------------------------------------------------------------- tbody ํ™œ์šฉํ•˜๊ธฐ
    	
    	
    	// 5-3. ์ƒˆ๋กœ์šด ๋‹ฌ๋ ฅ ๊ทธ๋ฆฌ๊ธฐ
    	//------------------------------------------------------------------------------------
    	/* 
    	var calendarBox = document.getElementById("newCalendarBox");
    	
    	var tableNode = document.createElement("table");		//<table></table>
    	
    	var trNode = document.createElement("tr");				//<tr></tr>
    	
    	var dayNames = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fir", "Sat"];
    	for(var i=0; i<dayNames.length; i++)
    		trNode.appendChild(createTdNode(dayNames[i]));
    	tableNode.appendChild(trNode);
    	
    	// S: *******************์œ„์˜ ๋‚ด์šฉ๊ณผ ๊ฐ™์€ ๋ถ€๋ถ„*******************
    	var trNode = document.createElement("tr");
    	// <tr>..</tr>
    	
    	//	- ํ•ด๋‹น์›”์˜ 1์ผ์ด ์‹œ์ž‘๋˜๊ธฐ ์ „์— ๋นˆ์นธ td ์ฑ„์šฐ๊ธฐ
    	for(var i=0; i<days; i++)
    	{
    		trNode.appendChild(createTdNode(""));
    	}
    	//	- 1์ผ ๋ถ€ํ„ฐ.. ํ•ด๋‹น ์›”์˜ ๋งˆ์ง€๋ง‰ ๋‚ ์งœ๊นŒ์ง€ ๋นˆ์นธ td ์ฑ„์šฐ๊ธฐ
    	var d = 1;
    	for(var d=1; d<=lastDay; d++)
    	{
    		trNode.appendChild(createTdNode(d));		// ์–ด๋–ค ํ˜•ํƒœ์ธ์ง€ ํ™•์ธ
    		
    		// ์ผ์š”์ผ์„ ๊ทธ๋ฆฌ๊ธฐ ์‹œ์ž‘ํ•  ๋•Œ...
    		// ๊ธฐ์กด tr ๊ตฌ์„ฑ์„ ๋งˆ๋ฌด๋ฆฌํ•˜๊ณ 
    		// ๋‹ค์‹œ ์ƒˆ๋กœ์šด tr์„ ๊ตฌ์„ฑ
    		
    		// check~!!! ---------------------------------
    		if((d+days)%7==0) 							// ์ผ์š”์ผ์„ ๊ทธ๋ฆฌ๊ธฐ ์ „์—...
    		{
    			//tableNode.appendChild(trNode);			// trNode ๋ฅผ tableNode ์— ์ถ”๊ฐ€
    			tbodyNode.appendChild(trNode);
    			trNode = document.createElement("tr");	// ์ƒˆ๋กœ์šด trNode ๊ตฌ์„ฑ
    		}
    		// ---------------------------------- check~!!!
    	}
    	
    	// ํ™•์ธ
    	//-- 31์ผ ๊นŒ์ง€ ์ถœ๋ ฅํ•œ ๋‚ ์งœ์—์„œ ํ™•์ธํ•œ ๊ฒฐ๊ณผ
    	//alert(d);
    	//--==>> 32 **(2023๋…„ 3์›” -> 31์ด ๋งˆ์ง€๋ง‰ ๋‚ , d ์ถœ๋ ฅ์€ 32)**
    	
    	//	- ๋‚ ์งœ ๊ตฌ์„ฑ ์ดํ›„ ๋งˆ์ง€๋ง‰ ๋นˆ์นธ td ์ฑ„์šฐ๊ธฐ
    	//		(์ตœ์ข…์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋œ ๋‚ ์งœ๊ฐ€ ์ผ์š”์ผ ๊ฐœํ–‰์ด ์ ์šฉ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ๋งŒ...)
    	// **์ค‘์š”**
    	if( ((d-1)+days)%7!=0 )
    	{
    		for(var i=0; i<7; i++,d++)	//**d ๋„ 1์”ฉ ์ฆ๊ฐ€์‹œ์ผœ์•ผํ•จ**
    		{
    			trNode.appendChild(createTdNode(""));
    			
    			if((d+days)%7==0)
    			{
    				//tableNode.appendChild(trNode);
    				tbodyNode.appendChild(trNode);
    				break;			
    			}				
    		}
    	}
    	
    	//tableNode.appendChild(trNode);
    	
    	// E: *******************์œ„์˜ ๋‚ด์šฉ๊ณผ ๊ฐ™์€ ๋ถ€๋ถ„*******************
    	
    	// check~!!!
    	// ****
    	calendarBox.appendChild(tableNode);
    	 */
    	//----------------------------------------------------------------- ์ƒˆ๋กœ์šด ๋‹ฌ๋ ฅ ๊ทธ๋ฆฌ๊ธฐ
    	
    	//		- ํ•ด๋‹น ์›”์˜ 1์ผ์ด ์‹œ์ž‘๋˜๊ธฐ ์ „์— ๋นˆ ์นธ td ์ฑ„์šฐ๊ธฐ
    	
    	
    }
    
    function createTdNode(val) 							// "ํ™๊ธธ๋™"
    {
    	var textNode = document.createTextNode(val);	// ใ„ด "ํ™๊ธธ๋™"
    	var tdNode = document.createElement("td");		// <td></td>
    	tdNode.appendChild(textNode);					// <td></td>
    													//		ใ„ด "ํ™๊ธธ๋™"
    	return tdNode;									// <td>ํ™๊ธธ๋™</td>
    }
    </script>
    
    </body>
    </html>