[ํฌ์Šค์ฝ” X ์ฝ”๋”ฉ์˜จ ํ’€์Šคํƒ ์›น๊ฐœ๋ฐœ์ž ๋ถ€ํŠธ์บ ํ”„ 7๊ธฐ] 2์ฃผ์ฐจ ์ˆ˜์—…๋‚ด์šฉ ํšŒ๊ณ ๋ก ch.1 -Javascript ์ž๋ฃŒํ˜•, ํ‘œ์ค€๊ฐ์ฒด, DOM, ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ, jQuery ๋ฉ”์†Œ๋“œ, jQuery ์ด๋ฒคํŠธ๋ฆฌ์Šค๋„ˆ(feat. ์„œ์šธ ์ ์‘๊ธฐ)

2023. 5. 3. 21:42ใ†Study_Develop/ํฌ์Šค์ฝ” X ์ฝ”๋”ฉ์˜จ ๋ถ€ํŠธ์บ ํ”„

๋ฐ˜์‘ํ˜•

 

[ํฌ์Šค์ฝ” X ์ฝ”๋”ฉ์˜จ ํ’€์Šคํƒ ์›น๊ฐœ๋ฐœ์ž ๋ถ€ํŠธ์บ ํ”„ 7๊ธฐ]
2์ฃผ ์ฐจ ํšŒ๊ณ ๋ก ch.1
 
1์ฃผ์ฐจ html, css์ˆ˜์—… ๋•Œ
๊ฑด๋ฐฉ์ง€๊ฒŒ ํŒ”์งฑ ๋ผ๊ณ  ์ˆ˜์—… ๋Œ€์ถฉ๋Œ€์ถฉ ๋“ฃ๊ณ 
 ์ˆ˜์—… ๋๋‚œ ์ดํ›„์— ๋ณต์Šต๋„ ์•ˆ ํ•˜๋˜
ํ•œ์ฃผ๊ฐ€ ์ง€๋‚˜๊ณ ,
 
2์ฃผ ์ฐจ ์‹œ์ž‘๊ณผ ํ•จ๊ป˜
์ˆ˜์—… ๋‚ด๋‚ด ๋ถ„๋…ธ์˜ ํƒ€์ดํ•‘, ๊ทธ๋ฆฌ๊ณ  ๊ฑฐ๋ถ๋ชฉ ์ƒํƒœ๋ฅผ
์œ ์ง€ํ•œ ์ฑ„ 6์‹œ๊ฐ„ ์ˆ˜์—…์„ ๋“ค์—ˆ๋‹ค.
 
js, jQuery๋Š” ํ˜ผ์ž ๊น”์ง ๊ฑด๋“œ๋ ค๋ณด๊ณ 
์ฒ˜์Œ ์ œ๋Œ€๋กœ ๋ฐฐ์šฐ๋Š”๋ฐ,
๊ฝค๋‚˜ ํ—ท๊ฐˆ๋ฆฌ๊ณ  ์‘์šฉ๋ฌธ์ œ๊ฐ€ ๋‚˜์˜ค๋ฉด
์•ฝ๊ฐ„์˜ ๋ฒ„ํผ๋ง์ด ํ•„์š”ํ•˜๋‹ค.
 
 
์ œ๋Œ€๋กœ ์ •๋ฆฌํ•ด ๋‘์–ด์•ผ
๋‚˜์ค‘์— ๊นŒ๋จน๋”๋ผ๋„,
๋‹ค์‹œ ๊ฐ์„ ์‚ด๋ฆด ์ˆ˜ ์žˆ์„ ๋“ฏํ•˜๋‹ค.
 
๋‚ด๊ฐ€ ๋ณด๋ ค๊ณ  ์ •๋ฆฌํ•ด ๋‘” ๊ธ€์ด๋‹ˆ
๋‹ค์†Œ ์ •์‹ ์ด ์—†์„ ์ˆ˜ ์žˆ๋‹ค.
 
 


 

Javascript ์ž๋ฃŒํ˜•

 

1. primitive(์›์ดˆ์ ์ธ, ์›์‹œ์ ์ธ) ์ž๋ฃŒํ˜•

 

1.1 Boolean 

์ฐธ(true), ๊ฑฐ์ง“(false) ๋‘˜ ์ค‘ ํ•˜๋‚˜์˜ ๊ฐ’์„ ๊ฐ–๋Š” ์š”์†Œ
 

1.2 Number

์ˆซ์ž ํ˜•์œผ๋กœ ์ •์ˆ˜์™€ ๋ถ€๋™ ์†Œ์ˆ˜์ , ๋ฌดํ•œ๋Œ€ ๋ฐ NaN์ธ ์š”์†Œ
 

1.3 String

๋ฌธ์ž ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜ํƒ€๋‚ผ ๋•Œ ์‚ฌ์šฉ
 

1.4 Null

๋นˆ ๊ฐ’์„ ๋œปํ•˜๋Š” nullํƒ€์ž…, ํƒ€์ž…์€ ์กด์žฌํ•˜์ง€๋งŒ ๊ฐ’์€ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค.
 

1.5 Undefined

๊ฐ’ X, ํƒ€์ž… X
 

2. Object ์ž๋ฃŒํ˜•

2.1 ๊ฐ์ฒด ์ž๋ฃŒํ˜•
๊ฐ์ฒด๋ž€?
์‹ค์ƒํ™œ์—์„œ ์šฐ๋ฆฌ๊ฐ€ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋ฌผ
 

var cat={
  name:"๋‚˜๋น„",
  age: 1, 
  mew:function(){
      return "๋ƒ์˜น";
   }
 };

 
2.2 ์ฐธ์กฐ ์ž๋ฃŒํ˜•
๋ฐฐ์—ด - ์ˆซ์žํ˜•๊ณผ ๋ฌธ์ž์—ด๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ
์ผ๋ฐ˜์ ์ธ ์Šคํฌ๋ฆฝํŠธ์™€ ๋™์ผ
 
์ƒ์„ฑ๋ฐฉ๋ฒ•!
 

var arr1= [1, 2, 3, "์•ˆ๋…•", "๋ฐ˜๊ฐ€์›Œ"];
var arr2= new Array(1, 2, 3, "์•ˆ๋…•", "๋ฐ˜๊ฐ€์›Œ");

[ ]๋‚˜ new Array()๋ฅผ ์ด์šฉํ•ด ์ƒ์„ฑํ•œ๋‹ค.
 

var me={
            name: 'kyuti',
            birth:'1115'
        };
        me['gender']='F';
        console.log(me);

me์— gender: 'F'
๊ฐ€ ์ถ”๊ฐ€๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ.
 

Javascript ํ‘œ์ค€๊ฐ์ฒด

- ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฐ์ฒด๋“ค
 
- ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๋Š” ๋ฐ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ•„์š”ํ•œ ๋„๊ตฌ๋“ค
 
- String, Number, Array, Date, Math...
 

1. Date ๊ฐ์ฒด

Javascript์—์„œ ๋งค ์ˆœ๊ฐ„ ๋ฐ”๋€Œ๋Š” ์‹œ๊ฐ„๊ณผ ๋‚ ์งœ์— ๊ด€ํ•œ
์ •๋ณด๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ฐ์ฒด
 

getFullYear() : ๋…„๋„๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜
 

console.log(date.getFullYear()); //2023

 
getMonth() : ์›”์„ ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜
๋‹จ, 0๋ถ€ํ„ฐ ์‹œ์ž‘, 1์›”์€ 0
๊ทธ๋ž˜์„œ, +1์„ ํ•ด์ค˜์•ผ ํ˜„์žฌ ์›”์„ ์•Œ ์ˆ˜ ์žˆ์Œ
 

console.log(date.getMonth()); //ํ˜„์žฌ 3์›”์ด๋ฉด 2

 
getDate(): ๋‚ ์งœ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜
 

console.log(date.getDate()); //27

 
getDay() :์š”์ผ์„ ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜
์›”์š”์ผ=1, ํ™”์š”์ผ=2, ์ˆ˜์š”์ผ=3,...
 

console.log(date.getDay()); //3

 

2. Math ๊ฐ์ฒด

์ˆ˜ํ•™์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์ƒ์ˆ˜์™€ ํ•จ์ˆ˜๋“ค์„
๋ฏธ๋ฆฌ ๊ตฌํ˜„ํ•ด ๋†“์€ javascript ํ‘œ์ค€ ๋‚ด์žฅ ๊ฐ์ฒด
 

 
Math.ceil() : ์†Œ์ˆ˜๊ฐ’์ด ์กด์žฌํ•  ๋•Œ ๊ฐ’์„ ์˜ฌ๋ฆฌ๋Š” ํ•จ์ˆ˜
 

var val = 324.6;
   document.write("Math.ceil(val) : " + Math.ceil(val) + "<br>");

 Math.floor ์‚ฌ์šฉ๋ฐฉ๋ฒ• (๋‚ด๋ฆผ)
 
Math.round ์‚ฌ์šฉ๋ฐฉ๋ฒ• (๋ฐ˜์˜ฌ๋ฆผ)
 
 

javascript DOM

1. DOM?
Document Object Model(๋ฌธ์„œ ๊ฐ์ฒด ๋ชจ๋ธ)
 
xml์ด๋‚˜ html ๋ฌธ์„œ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ 
์ผ์ข…์˜ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ฌธ์„œ ๋‚ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์ •์˜ํ•˜๊ณ ,
๊ฐ๊ฐ์˜ ์š”์†Œ์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค.
 

 
-> ๋ณดํ†ต ์ด๋Ÿฐ ๊ตฌ์กฐ์ด๋‹ค.
 

Javascript Document

Document
์›น ํŽ˜์ด์ง€์— ์กด์žฌํ•˜๋Š” HTML์š”์†Œ์— ์ ‘๊ทผํ•˜์—ฌ
ํ–‰๋™์„ ํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ์ฒด
 
์š”์†Œ ์„ ํƒ

. append() ๋ฉ”์„œ๋“œ
์„ ํƒ๋œ ์š”์†Œ์˜ ๋งˆ์ง€๋ง‰์— 
์ƒˆ๋กœ์šด HTML ์š”์†Œ๋‚˜ ์ฝ˜ํ…์ธ ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.
 

<ol id="list">
    <li>์ฒซ ๋ฒˆ์งธ ์•„์ดํ…œ</li>
    <li>๋‘ ๋ฒˆ์งธ ์•„์ดํ…œ</li>
</ol>

 

์œ„์™€ ๊ฐ™์ด HTML์š”์†Œ๊ฐ€ ์žˆ์„ ๋•Œ,
. append() ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•˜๋ฉด, ๋‘ ๋ฒˆ์งธ <li> ๋’ค์— 
์ƒˆ๋กœ์šด HTML์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.
 

$("#list").append("<li>์ƒˆ๋กœ ์ถ”๊ฐ€๋œ  ์•„์ดํ…œ</li>");

 
. prepend() ๋ฉ”์„œ๋“œ
์„ ํƒํ•œ ์š”์†Œ์˜ ์ฒซ ๋ฒˆ์งธ์— ์ƒˆ๋กœ์šด ์š”์†Œ๋‚˜ ์ฝ˜ํ…์ธ ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.
 
. appendTo() ๋ฉ”์„œ๋“œ
์„ ํƒํ•œ ์š”์†Œ์˜ ํ•ด๋‹น ์š”์†Œ์˜ ๋งˆ์ง€๋ง‰์— ์ถ”๊ฐ€ํ•œ๋‹ค.
append() ๋ฉ”์„œ๋“œ์™€ ๋™์ผํ•˜์ง€๋งŒ, ์†Œ์Šค(source)์™€ ํƒ€๊นƒ(target)์˜ 
์œ„์น˜๊ฐ€ ์„œ๋กœ ๋ฐ˜๋Œ€๋กœ ๋˜์–ด ์žˆ๋‹ค.
 

$(source).appendTo(target)

์ฒซ ๋ฒˆ์งธ <p> ๋’ค์— ์ƒˆ๋กœ์šด HTML์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

<p>์•ˆ๋…•ํ•˜์„ธ์š”.</p>

$("<span>jQuery์ž…๋‹ˆ๋‹ค.</span>").appendTo("p");

 
. prependTo() ๋ฉ”์„œ๋“œ
ํ•ด๋‹น ์š”์†Œ์˜ ์ฒซ ๋ฒˆ์งธ์— ์ถ”๊ฐ€ํ•œ๋‹ค.
 
 

Javascript ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ

- ์‚ฌ์šฉ์ž์˜ ํ–‰๋™์— ๋ฐ˜์‘ํ•˜๋Š” ์ž‘์—…
 
- ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ํŠน์ •ํ–‰๋™์ด ๊ฐ์ง€๋˜๋ฉด, ๊ทธ์— ๋”ฐ๋ฅธ ๋ฐ˜์‘์„ ํ•จ
 

 

 
 

Javascript event listener ๋“ฑ๋กํ•˜๋Š” ๋ฐฉ์‹

 

1. ์ธ๋ผ์ธ ๋ฐฉ์‹

- ์ด๋ฒคํŠธ๋ฅผ HTML ์š”์†Œ์— ์†์„ฑ์œผ๋กœ ์ง์ ‘ ์ง€์ •ํ•˜๋Š” ๋ฐฉ์‹
- HTML ์ฝ”๋“œ์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ถ”๊ฐ€ํ•จ์œผ๋กœ์จ ๊ฒฐ๊ตญ HTML์ฝ”๋“œ์™€ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ 
์„ž์—ฌ ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ด€์ ์— ๋”ฐ๋ผ ์œ ์ง€๋ณด์ˆ˜์— ์šฉ์ดํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค.
 

<body> 
  	<button onclick="testHandler()">Test</button> 
	<script> 
    	function testHandler() { 
  			alert('Hello world');
  		}
	</script> 
</body>
<body>
    <button onclick="alert('Hello world');">Test btn</button>
</body>

 

2. onXXXX์†์„ฑ (ex. onClick) ๋ฐฉ์‹

 
- html ์ฝ”๋“œ์™€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์„ž์—ฌ 
์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค.
 
- ํ•˜๋‚˜์˜ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ ํ”„๋กœํผํ‹ฐ์—” 
ํ•˜๋‚˜์˜ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋งŒ ๋ฐ”์ธ๋”ฉ ๊ฐ€๋Šฅํ•˜๋‹ค.
 

let testBtn = document.querySelector('#testBtn'); 
	testBtn.onclick = function () {
		alert('Hello world1'); 
	}; 
    // ๋‘๋ฒˆ์งธ ๋ฐ”์ธ๋”ฉ๋œ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ (ํ•˜๋‚˜์˜ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋งŒ ๋ฐ”์ธ๋”ฉ ๊ฐ€๋Šฅํ•˜๊ธฐ๋•Œ๋ฌธ์— "Hello world2"๊ฐ€ ๋…ธ์ถœ ๋œ๋‹ค. 
	testBtn.onclick = function () { 
  		alert('Hello world2'); 
	};

-> ๋งˆ์ง€๋ง‰์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ํ•จ์ˆ˜๊ฐ€ ๋ฐ”์ธ๋”ฉ๋œ๋‹ค.
 

3. addEventListener() ๋ฉ”์„œ๋“œ ๋ฐฉ์‹

- onXXXX ๋ฐฉ์‹์—์„œ๋Š” 1๊ฐœ์˜ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋งŒ ๋ฐ”์ธ๋”ฉ ๊ฐ€๋Šฅํ–ˆ์ง€๋งŒ,
addEventListener() ๋ฐฉ์‹์€ ํ•˜๋‚˜ ์ด์ƒ์˜ 
์ด๋ฒคํŠธ  ํ•ธ๋“ค๋Ÿฌ๋ฅผ ๋ฐ”์ธ๋”ฉํ•œ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ๋‹ค.
 
- ๊ฐ์ฒด. addEventListener('์ด๋ฒคํŠธํƒ€์ž…', ํ•จ์ˆ˜๋ช…[, ์ด๋ฒคํŠธ์ „ํŒŒ๋ฐฉ์‹];
 

<body> 
    <button id="testBtn2">Test</button> 
  </body> 
  <script> let testBtn2 = document.querySelector('#testBtn2'); 
    function testFunc(){ 
    	alert('Hello world1');
    } 
    testBtn2.addEventListener('click', testFunc); 
    
    testBtn2.addEventListener('click', function () { 
    	alert('Hello world2'); 
    }); 
    } 
  </script>

 
-> Hello World1์ด alert๋กœ ์ถœ๋ ฅ๋˜๊ณ ,
Hello World2๊ฐ€ ๋˜ alert๋กœ ์ถœ๋ ฅ๋จ.
 

jQuery

 
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋ฅผ ๊ฐ„ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก 
๋‹จ์ˆœํ™”์‹œํ‚จ ์˜คํ”ˆ์†Œ์Šค ๊ธฐ๋ฐ˜์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
 
- ์ฃผ์š” ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ๊ตฌ๋ฒ„์ „์„ ํฌํ•จํ•œ 
๋Œ€๋ถ€๋ถ„์˜ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ง€์› ๊ฐ€๋Šฅ
 
- HTML DOM๋ฅผ ์†์‰ฝ๊ฒŒ ์กฐ์ž‘ ๊ฐ€๋Šฅํ•˜๋ฉฐ, 
CSS์Šคํƒ€์ผ๋„ ๊ฐ„๋‹จํžˆ ์ ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.
 
- ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ๋‚˜ ๋Œ€ํ™”ํ˜• ์ฒ˜๋ฆฌ๋ฅผ 
๊ฐ„๋‹จํ•˜๊ฒŒ ์ ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค.
 
- ๊ฐ™์€ ๋™์ž‘์„ ํ•˜๋”๋ผ๋„ ๋”์šฑ ์งง๊ฒŒ ๊ตฌํ˜„ ๊ฐ€๋Šฅํ•˜๋‹ค.
 
 

 
$๋Š” jQuery() ํ•จ์ˆ˜์˜ ์ถ•์•ฝ ํ˜•ํƒœ๋กœ,
์‹๋ณ„์ž์˜ ์—ญํ• ์„ ํ•œ๋‹ค.
 
 

JQuery ๋ฉ”์„œ๋“œ 

1. ๊ฐ’ ๊ฐ€์ ธ์˜ค๊ธฐ & ์„ค์ •ํ•˜๊ธฐ

 

<input type="text"/>
    <button onClick="getValue()">๊ฐ’ ๊ฐ€์ ธ์˜ค๊ธฐ</button>
    <button onClick="setValue()">๊ฐ’ ์„ค์ •ํ•˜๊ธฐ</button>
function getValue(){
    let value=$('input').val();
    console.log(value)
}

function setValue(){
    $('input').val('ํŒจ์Šค์›Œ๋“œ๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”')
}

 

2. Style ๋ณ€๊ฒฝํ•˜๊ธฐ

 

์˜ˆ์ œ 1. 

<h2>css()</h2>
    <div id="change">๋ณ€๊ฒฝํ•ด์ฃผ์„ธ์š”</div>
    <button onClick="changeJs()">js๋กœ ๋ฐ”๊พธ๊ธฐ</button>
    <button onClick="changeJquery()">jquery๋กœ ๋ฐ”๊พธ๊ธฐ</button>
    <button onClick="getJquery()">jquery๋กœ CSS๊ฐ’ ๊ฐ€์ ธ์˜ค๊ธฐ</button>
function changeJs(){
   let span= document.querySelector('#change')
   span.style='font-size: 20px; color: red;'
}
function changeJquery(){
    $('#change').css({"font-size": "40px", "color": "blue"})
}
function getJquery(){
    console.log($("#change").css('color'))
}

 
์˜ˆ์ œ 2.

<h2>html()</h2>
    <p id="html">์•ˆ๋…•ํ•˜์„ธ์š”</p>
    <button onClick="changeHtmlJs()">js๋ฐ”๊พธ๊ธฐ</button>
    <button onClick="changeHtmlJquery()">jquery๋กœ ์ฃผ์†Œ๋ฐ”๊พธ๊ธฐ</button>
function changeHtmlJs(){
   let p = document.querySelector('#html')
   p.innerHTML='<h3>javascript</h3>'
}

function changeHtmlJquery(){
    $('#html').html('<h1>Jquery</h1>')
}

 

3. ์†์„ฑ ๋ณ€๊ฒฝํ•˜๊ธฐ

 

<h2>attr()</h2>
    <a href="https://www.naver.com" target="_blank" id="move">์ด๋™ํ•˜์„ธ์š”</a>
    <button onClick="changeAttr()">์ฃผ์†Œ๋ฐ”๊พธ๊ธฐ</button>
    <button onClick="changeAttraJs()">JS๋กœ ์ฃผ์†Œ๋ฐ”๊พธ๊ธฐ</button>
function changeAttr(){
    $("#move").attr('href', 'https://www.google.com')
}
function changeAttraJs(){
    let a=document.querySelector('#move')
    a.setAttribute('href', 'https://www.daum.net')
}

 

4. Text๋ณ€๊ฒฝํ•˜๊ธฐ

 

<h2>text()</h2>
    <p id="text">์•ˆ๋…•ํ•˜์„ธ์š”</p>
    <button onClick="changeTextJs()">js๋ฐ”๊พธ๊ธฐ</button>
    <button onClick="changeTextJquery()">jquery๋กœ ์ฃผ์†Œ๋ฐ”๊พธ๊ธฐ</button>
function changeTextJs(){
    let p=document.querySelector('#text')
    p.textContent="<h3>js์ฒด์ธ์ง€</h3>"
}
function changeTextJquery(){
    $('#text').text("<h1>jquery์ฒด์ธ์ง€</h1>")
}

๊ฒฐ๊ณผ>

-> textContent๋Š” < > ํƒœ๊ทธ ์•ˆ์— ๋„ฃ์–ด๋„ ์ ์šฉ๋˜์–ด ๋ฐ”๋€Œ์ง€ ์•Š์Œ!
 

5. HTML ๋ณ€๊ฒฝํ•˜๊ธฐ

 

<h2>html()</h2>
    <p id="html">์•ˆ๋…•ํ•˜์„ธ์š”</p>
    <button onClick="changeHtmlJs()">js๋ฐ”๊พธ๊ธฐ</button>
    <button onClick="changeHtmlJquery()">jquery๋กœ ์ฃผ์†Œ๋ฐ”๊พธ๊ธฐ</button>
function changeHtmlJs(){
   let p = document.querySelector('#html')
   p.innerHTML='<h3>javascript</h3>'
}

function changeHtmlJquery(){
    $('#html').html('<h1>Jquery</h1>')
}

-> innerHTML์„ ์‚ฌ์šฉํ•˜๋ฉด, `< > ๋ณ€๊ฒฝ๋‚ด์šฉ <>`์ด
ํƒœ๊ทธ๋ฅผ ์ œ์™ธํ•˜๊ณ , ์ œ๋Œ€๋กœ
๋ณ€๊ฒฝ๋‚ด์šฉ์œผ๋กœ ๋ณ€๊ฒฝ๋จ.
 
` (๋ฐฑํ‹ฑ)
 

6. ์š”์†Œ ์ถ”๊ฐ€ํ•˜๊ธฐ

<ul class="colors">
        <li class="orange">orange</li>
        <li class="green">green</li>
        <li class="navy">navy</li>
    </ul>
    
    <h6>append() - ์„ ํƒ๋œ ์š”์†Œ์˜ ์ž์‹ ์š”์†Œ ์ค‘ ๋งˆ์ง€๋ง‰์— ์ถ”๊ฐ€</h6>
    <button onClick="appendJS()">js๋ฐ”๊พธ๊ธฐ</button>
    <button onClick="appendJquery()">jquery๋ฐ”๊พธ๊ธฐ</button>
function appendJS(){
    let ul = document.querySelector('.colors')
    let li = document.createElement('li')
    li.innerHTML = '๋งˆ์ง€๋ง‰ ์ž์‹'

    ul.append(li)
}
function appendJquery(){
    $('.colors').append('<li> jquery ์ž์‹์ถ”๊ฐ€ <li>')
}

๊ฒฐ๊ณผ>

 

7. ์š”์†Œ ์‚ญ์ œํ•˜๊ธฐ

  <ul class="nums">
        <li>1</li>
        <li id="li2">2</li>
        <li>3</li>
    </ul>
function removeJs(){
   let li = document.querySelector('#li2')
   li.remove()
}
function removeJquery(){
  $('#li2').remove()
}

 
 

8. ์š”์†Œ ํƒ์ƒ‰ํ•˜๊ธฐ

 <button onClick="findParent()">๋ถ€๋ชจ์ฐพ๊ธฐ</button>
 <button onClick="findParents()">์กฐ์ƒ์ฐพ๊ธฐ</button>
function findParent(){
    console.log($('.child:nth-child(2)').parent())
}
function findParents(){
    console.log($('.child2').parents())
}

๊ฒฐ๊ณผ>

 
 

9. ํด๋ž˜์Šค ์กฐ์ž‘ํ•˜๊ธฐ

 

<p class="origin-class">๊ธฐ์กด ํด๋ž˜์Šค</p>
    <button onClick="addClass()">ํด๋ž˜์Šค ์ถ”๊ฐ€</button>
    <button onClick="addClassJs()">jsํด๋ž˜์Šค ์ถ”๊ฐ€</button>
    <button onClick="removeClass()">ํด๋ž˜์Šค ์‚ญ์ œ</button>
    <button onClick="removeClassJs()">jsํด๋ž˜์Šค ์‚ญ์ œ</button>
function addClass(){
   $('.origin-class').addClass('add-class')
}
function addClassJs(){
    let p = document.querySelector(".origin-class")
    p.classList.add('add-class')
}
function removeClass(){
    $('.origin-class').removeClass('origin-class')
}
function removeClassJs(){
    let p = document.querySelector(".origin-class")
    p.classList.remove('origin-class')
}

 
 

Jquery ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ

1. click : ๋งˆ์šฐ์Šค ๋ฒ„ํŠผ ํด๋ฆญํ–ˆ์„ ๋•Œ

<div class="hello">์•ˆ๋…•ํ•˜์„ธ์š”</div>
    <div class="numbers">
        <div class="num">one</div>
        <div class="num">two</div>
        <div class="num">three</div>
        <div class="num">four</div>
    </div>
$('.hello').click(function(){
    $('.hello').css('color', 'red')
})

$('.num').click(function(){
    // $('.num').css('color', 'blue') //์ „์ฒด ๋‹ค ์„ ํƒ ๋จ
     $(this).css({'color': 'blue', 'font-weight':"bold"}) //๋ˆ„๋ฅธ์• ๋งŒ ์„ ํƒ ๋จ
})
$('.num').on('click', function(){
    $(this).css({'color': 'red', 'font-weight': 'bold'})
})

 

+) this์˜ ์—ญํ• !

1. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ์˜ this
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ์˜ this๋Š” ํ˜„์žฌ ์‹คํ–‰ ์ฝ˜ํ…์ŠคํŠธ์—์„œ ์ฐธ์กฐ๋˜๋Š” ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค.
์ด๋ฐ˜์ ์œผ๋กœ๋Š” ํ•จ์ˆ˜ ๋‚ด์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ, ํ•จ์ˆ˜ ํ˜ธ์ถœ ๋ฐฉ์‹์— ๋”ฐ๋ผ
this๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ์ฒด๊ฐ€ ๋‹ฌ๋ผ์ง€๊ฒŒ ๋œ๋‹ค.
 
2. jquery์—์„œ์˜ this
์ œ์ด์ฟผ๋ฆฌ์—์„œ $(this)๋Š” ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ ๋‚ด์—์„œ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ์š”์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ this this๋Š” ํ˜„์žฌ ์‹คํ–‰ ์ฝ˜ํ…์ŠคํŠธ์—์„œ ์ฐธ์กฐ๋˜๋Š” ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ ,
$(this)๋Š”
 

<button class="btn">Button</button>

<script>
    $('.btn').click(function() {
        console.log(this);      // ํ˜„์žฌ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ์—์„œ ์ฐธ์กฐ๋˜๋Š” ๊ฐ์ฒด
        console.log($(this));  // ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ์š”์†Œ
    });
</script>

 
์œ„์˜ ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ this ๊ฒฝ์šฐ๋Š” ํƒœ๊ทธ๊ฐ€ ํ‘œ์‹œ๋˜๊ณ ,
์ œ์ด์ฟผ๋ฆฌ $(this)์˜ ๊ฒฝ์šฐ๋Š” ํƒœ๊ทธ ์š”์†Œ์˜ ์ •๋ณด๋ฅผ ๋‹ด์€ Object๋กœ ํ‘œ์‹œ๋œ๋‹ค.
 

 
๋งŒ์ผ ์ œ์ด์ฟผ๋ฆฌ ๊ฐ์ฒด์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ this์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ–๊ธฐ ์œ„ํ•ด์„œ๋Š”
$(this)[0]๋กœthis===$(this)[0]์ธ ๊ฒƒ์ด๋‹ค.
 
 

2. mouseover : ๋งˆ์šฐ์Šค๋ฅผ ์š”์†Œ ์œ„๋กœ ์›€์ง์˜€์„ ๋•Œ &

mouseleave(=mouseout) : ๋งˆ์šฐ์Šค๊ฐ€ ์š”์†Œ๋ฅผ ๋ฒ—์–ด๋‚  ๋•Œ

 

<div class="numbers">
        <div class="num">one</div>
        <div class="num">two</div>
        <div class="num">three</div>
        <div class="num">four</div>
    </div>
$('.numbers').mouseover(function(){
    //$('.numbers').css('background-color', 'green')
    $(this).css('background-color', 'yellow')
})

$('.numbers').on('mouseleave', function(){
    $(this).css('background-color', 'skyblue')
})

 
!! ๋น„์Šทํ•œ ์šฉ์–ด!!
mouseenter, mouseover, hover : ๋งˆ์šฐ์Šค๊ฐ€ ์š”์†Œ ์•ˆ์œผ๋กœ ๋“ค์–ด๊ฐ€๋Š” ์›€์ง์ž„์„ ๊ฐ์ง€
mouseleave, mouseout : ๋งˆ์šฐ์Šค๊ฐ€ ์š”์†Œ ๋ฐ–์œผ๋กœ ๋‚˜์˜ค๋Š” ์›€์ง์ž„์„ ๊ฐ์ง€
 
 

3. keydown : ๋ˆ„๋ฅด๊ณ  ์žˆ๋˜ ํ‚ค๋ฅผ ๋•” ๋•Œ

 

    <input class="input-key" type="text"/>
$('.input-key').keydown(function(e){
   //console.log(e.code)
   if(e.code==='ArrowUp'){
    console.log('up')
   }else if(e.code==='ArrowRight'){
    console.log('right')
   }else if(e.code==='ArrowLeft'){
    console.log('left')
   }else if(e.code==='ArrowDown'){
    console.log('down')
   }else{
    console.log('others')
   }
})
$(".input-key").on('keydown', function(e){
    console.log(e.code)
})

 

4. ํผ ์ด๋ฒคํŠธ input: input, textarea ์š”์†Œ ๊ฐ’์ด ๋ณ€๊ฒฝ๋˜์—ˆ์„ ๋•Œ

submit : ํผ์„ ์ œ์ถœ(submit) ํ•  ๋•Œ

 

<h3>ํผ</h3>
    <form action="/" id="todo-form">
        <input type="text" name="todo"/>
        <button>์ถ”๊ฐ€</button>
    </form>
    <ul class="todos"></ul>
$('#todo-form').submit(function(e){
    e.preventDefault();
    const todo=$('input[name=todo]').val()
    console.log(todo)
    $('.todos').append(`<li>${todo}</li>`)

    $('input[name=todo').val("")//์ž…๋ ฅ ๊ฐ’์€ ๋‹ค์‹œ ๋นˆ ๋ฌธ์ž๋กœ ์„ค์ •
})

๊ฒฐ๊ณผ>

 

+) e.preventDefault(); ๋ž€?

 
์–ด๋–ค ์ด๋ฒคํŠธ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ,
ํ•ด๋‹น ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ๋ธŒ๋ผ์šฐ์ €์˜ ๊ธฐ๋ณธ ๋™์ž‘์„ ์‹คํ–‰ํ•˜์ง€ ์•Š๋„๋ก ์„ค์ •ํ•œ๋‹ค.
 
 


 
์—ฌ๊ธฐ๊นŒ์ง€ 3์ผ ๋งŒ์— ๋ฐฐ์šด ๋‚ด์šฉ
์ด์ •๋ฆฌ์ด๋‹ค.
 
๋‹ค์Œ ํšŒ๊ณ ๋ก์—์„œ๋Š”
์‹ค์Šต ๋‚ด์šฉ ๋ฌธ์ œ ํ’€์ด๋ฅผ ๋‹ค๋ฃฐ ์˜ˆ์ •์ด๋‹ค.
 
์ „๋ฐ˜์ ์œผ๋กœ ๋‚ด์šฉ์ด ์•„์ฃผ ๋น ๋ฅด๊ฒŒ ์ง„ํ–‰๋˜๊ณ 
์‹ค์Šต๋„ ์•Œ์ฐจ๊ฒŒ ์ง„ํ–‰์„ ํ•˜์—ฌ
๋”ฐ๋ผ๊ฐ€๋ ค๋ฉด ๋งค์ผ๋งค์ผ ๋ณต์Šตํ•˜๊ณ , 
์ˆ˜์—…์‹œ๊ฐ„์— ๋” ๋นก์„ธ๊ฒŒ ์ง‘์ค‘ํ•ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ ๋‹ค.
 
์‚ด์ง ๋น ๋ฅด๊ฒŒ ์ง„ํ–‰๋˜๋Š”๋ฐ
์›Œ๋‚™ ๋นจ๋ฆฌ๋นจ๋ฆฌ๋ฅผ ์ข‹์•„ํ•˜๋Š” ๋‚˜๋กœ์„œ๋Š” 
๋งŒ์กฑ์Šค๋Ÿฌ์šด ๊ฒƒ ๊ฐ™๋‹ค.
 
๋‹ค๋งŒ ๊ฑฑ์ •๋˜๋Š” ๊ฒƒ์ด ์žˆ๋‹ค๋ฉด,,
ํ”„๋กœ์ ํŠธ ๋•Œ ์•„๋ฌด๊ฒƒ๋„ ๋ชปํ•ด์„œ
๋ฏผํ๊ฐ€ ๋  ๊ฒƒ ๊ฐ™์•„..
๊ฑฑ์ •์ด ๋˜๊ธด ํ•˜๋‹ค๋งŒ..ใ…‹
์•„์ž์•„์ž 
ํŒŒ์ดํŒ… ํ•ด์•ผ์ง€ ~
 

+)

 

๊ธ€์ด ๋„ˆ๋ฌด ๋ฐ‹๋ฐ‹ํ•˜์—ฌ

๋‚˜์˜ ์„œ์šธ ์ ์‘๊ธฐ๋ฅผ 

์‚ด์ง ๋„ฃ์–ด๋ณธ๋‹ค ใ…Ž

 

 

 

๊ณต๋ถ€ ์ข€ ํ•˜๋ ค ํ–ˆ๋Š”๋ฐ 

์ฒญ์ฃผ ์นœ๊ตฌ๋“ค์ด ์„œ์šธ ์™”๋‹ค๊ธธ๋ž˜..

ํ›„๋‹ค๋‹ฅ ๋งŒ๋‚˜๋Ÿฌ ๊ฐ„ ๋‚  ~

ํ•œ๊ฐ• ๊ตฌ๊ฒฝํ•˜๊ณ  ์ดํƒœ์›์„ ๋‹ค๋…€์™”๋‹ค.

์ € ๋”ฅ์ดˆ์ฝ” ๋ฒ„ํ„ฐ๋ง ์กด๋ง›์ด๋‹ค.

 

 
 ์„œ์šธ์— ์ทจ์งํ•œ ํ•™๊ต ๋™์•„๋ฆฌ ์„ ๋ฐฐ๋“ค๊ณผ ํ•จ๊ป˜

์ „๋ถ€ํ„ฐ ๊ฐ€๋ณด๊ณ  ์‹ถ์—ˆ๋˜ 

๋ฌดํ•œ๋„์ „ ์ •์ด๋ฌด๊ฐ€ ์œ๋‹ค ํŽธ์— ๋‚˜์™”๋˜ ์ „ ์ง‘์— ๋‹ค๋…€์™”๋‹ค ใ…Žใ…Ž

 

์ง์žฅ์ธ์„ ๋งŒ๋‚˜ ๋Œ€ํ™”๋ฅผ ํ•˜๋‹ˆ

์ทจ์—… ๊ฟ€ํŒ์„ ์–ป๊ธฐ๋Š” ํ•˜์ง€๋งŒ

์ทจ์งํ•˜๊ธฐ ์‹ซ๋‹ค ,, ๋Š” ์ƒ๊ฐ๋„ ๋“ ๋‹ค ใ…Žใ…Ž

 

ํœด.. ๋ˆ ๋ฒŒ๊ธฐ ์‰ฝ์ง€ ์•Š๊ฒ ์–ด~..

 

 

๊ทธ๋Ÿผ ์ด๋งŒ!

 

 

 


 
 

'Study_Develop > ํฌ์Šค์ฝ” X ์ฝ”๋”ฉ์˜จ ๋ถ€ํŠธ์บ ํ”„' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[ํฌ์Šค์ฝ” X ์ฝ”๋”ฉ์˜จ ํ’€์Šคํƒ ์›น๊ฐœ๋ฐœ์ž ๋ถ€ํŠธ์บ ํ”„ 7๊ธฐ] 4์ฃผ์ฐจ ํšŒ๊ณ ๋ก ch. 1 Node.js, ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ, ๋ถ„ํ•ด ํ• ๋‹น, ...์—ฐ์‚ฐ์ž, rest  (0) 2023.05.21
[ํฌ์Šค์ฝ” X ์ฝ”๋”ฉ์˜จ ํ’€์Šคํƒ ์›น๊ฐœ๋ฐœ์ž ๋ถ€ํŠธ์บ ํ”„ 7๊ธฐ] 3์ฃผ์ฐจ ํšŒ๊ณ ๋ก  (1) 2023.05.14
[ํฌ์Šค์ฝ” X ์ฝ”๋”ฉ์˜จ ํ’€์Šคํƒ ์›น๊ฐœ๋ฐœ์ž ๋ถ€ํŠธ์บ ํ”„ 7๊ธฐ] 2์ฃผ์ฐจ ํšŒ๊ณ ๋ก ch.2 ์‹ค์Šต ๋ฌธ์ œ ํ’€์ด (4, 5๋ฒˆ ๋ฌธ์ œ ์ •๋ฆฌ ํ•ด์•ผ ํ•จ..)  (0) 2023.05.14
[ํฌ์Šค์ฝ” X ์ฝ”๋”ฉ์˜จ ํ’€์Šคํƒ ์›น๊ฐœ๋ฐœ์ž ๋ถ€ํŠธ์บ ํ”„ 7๊ธฐ] 1์ฃผ์ฐจ ํšŒ๊ณ ๋ก(feat.ํ—˜๋‚œํ•œ ์„œ์šธ์‚ด์ด)  (12) 2023.04.28
[ํฌ์Šค์ฝ” X ์ฝ”๋”ฉ์˜จ ํ’€์Šคํƒ ์›น๊ฐœ๋ฐœ์ž ๋ถ€ํŠธ์บ ํ”„ 7๊ธฐ] 0์ฃผ์ฐจ feat. ํ•ฉ๊ฒฉ ํšŒ๊ณ ๋ก  (0) 2023.04.21