createElement ์ฌ์ฉํ๋ฉด ์ฝ๋๊ฐ ๊ธธ๊ณ ๋ณต์กํด์ง insertAdjacentHTML()ํจ์๋ฅผ ์ฌ์ฉํ๊ธฐ๋ ํ๋๋ฐ
insertAdjacentHTML()ํจ์๋ ์์ ์์ ๋ฌธ์ํ html์ ์ถ๊ฐํด์ฃผ์ธ์ ๋ผ๋ ์๋ฏธ์ ํจ์.
<div id="test">
</div>
<script>
const ํ
ํ๋ฆฟ = '<p>์๋
</p>'
document.querySelector('#test').insertAdjacentHTML('beforeend', ํ
ํ๋ฆฟ)
( )์์beforeend๋ ์ถ๊ฐํ ์์น๋ฅผ ๋ํ๋ด๋๋ฐ ์ฌ๊ธฐ์๋ ์์ชฝ ๋งจ๋ฐ์ํ ํ๋ฆฟ๋ผ๊ณ ํ๋ ๋ณ์๋ฅผ ์ถ๊ฐ!
- ๋ง์ฝ ๊ธฐ์กด์ ์๋ htmlํ๊ทธ๋ฅผ ์์ ๊ณ ์๋ก ์ถ๊ฐํ๋ ๊ฒ๋ง ๋ฃ๊ณ ์ถ๋ค๋ฉด
innerHTML์ ์ฐ๋ฉด ๋จ.
- ์๋ฒ๋? ๋ฐ์ดํฐ๋ฅผ ๋ฌ๋ผ๊ณ ์์ฒญํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด์ฃผ๋ ํ๋ก๊ทธ๋จ์ด๋ผ๊ณ ์ดํดํฉ์๋ค.
get์ ์ฃผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ถ์ ๋,post๋ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ๋ ์ฃผ๋ก ์ฌ์ฉ.
<form action="url" method="post"></form>get/post ์์ฒญํ๋ฉด ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ก๊ณ ์นจ๋จ.Ajax๋ฅผ ํ์ฉํด์ ์๋ก๊ณ ์นจ์์ด get,post ์์ฒญ ๊ฐ๋ฅ!!!$.get('url').done(function(data){
console.log(data)
})
- GET์์ฒญ์ด ์ฑ๊ณตํ์ ์
done( )์์ ์๋ ์ฝ๋๋ฅผ ์คํํด๋ฌ๋ ์๋ฏธ์.- get์์ฒญ์ผ๋ก ๋ฐ์์จ ๋ฐ์ดํฐ๋
done( )์์ ํจ์ ํ๋ผ๋ฏธํฐ์ ์ ์ ์ฅ์ด ๋จ.
$.post('url', {name:'kim'}).done(function(data){
console.log(data)
})
- get ์์ฒญ๋ฐฉ์๊ณผ ๊ฑฐ์ ๋์ผํ๋
url๋ค์ 2๋ฒ์งธ ํ๋ผ๋ฏธํฐ๋ก ๋ด๊ฐ ๋ณด๋ผ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ ์ ์๋ค๋ ์ฐจ์ด์ ์ด ์์.
$.get('url').done(function(data){
console.log(data)
})
.fail(function(){
console.log('์คํจ')
})
.fail( )์done( )๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์จ์ฃผ๋ฉด ๋ฉ๋๋ค~
fetch('url').then(res => res.json()).then(data=>{
console.log(data)
})
.catch(error => {
console.log(error)
})
- ์๋ ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ผ๋ ค๋ฉด ๋ฌธ์๋ง ์ฃผ๊ณ ๋ฐ์ ์ ์๋๋ฐ, array๋ object๋ฅผ ๋ณด๋ด๊ณ ์ถ์ผ๋ฉด
" "๋ฅผ ์ณ์ ๋ฌธ์์ฒ๋ผ ๋ง๋ค์ด์ผ ํจ."{"price: 4000"}"๊ณผ ๊ฐ์ ํ์์ JSON์ด๋ผ๊ณ ํจ.
- ๊ทธ๋ฌ๋ JSON์ผ๋ก ๋ณํํ๋ฉด ๋ฌธ์์ด๊ธฐ ๋๋ฌธ์ ์ํ๋ ์๋ฃ๋ง ๋ฝ์์ฐ๊ธฐ๊ฐ ์ด๋ ค์.
- ๊ทธ๋์ JSON์ object๋ก ๋ฐ๊ฟ์ฃผ๋
.then(res => res.json())์ด ์ฝ๋๋ ๊ฐ์ด ๋ค์ด๊ฐ.
- ์คํฌ๋กค์ด ๋์์ ๋ ํ๋ฉด์ ๊ณ ์ ๋๋ ์์๋ฅผ ๋ง๋ค๊ณ ์ถ์๋ ์ฌ์ฉํ๋ css ์์ฑ์.
position: fixed๋ ํญ์ ํ๋ฉด์ ๊ณ ์ ์ด ๋๋ ์์๋ฅผ ๋ง๋ค ๋ ์ฌ์ฉํ๋ค๊ณ ๋ฐฐ์ ๋๋ฐ ์ด ์์ฑ๊ณผ์ ์ฐจ์ด๋position: sticky๋ ์คํฌ๋กค์ด ๋์ด์ ์ด ์์๊ฐ ํ๋ฉด์ ๋์ค๋ฉด ๊ณ ์ ์ํจ๋ค๋ ํน์ฑ์ ๊ฐ์ง.
- ์คํฌ๋กค์ ํ ๋งํ ๋ถ๋ชจ ๋ฐ์ค๊ฐ ์์ด์ผ ํ๋ฉฐ,
- top ๋ฑ ์ขํ์์ฑ๊ณผ ํจ๊ป ์จ์ผ ์ ๋๋ก ๋ณด์.
.image {
float: right;
width : 400px;
position: sticky;
top: 100px;
}
- ๋งจ์์์๋ถํฐ 100px ์์น์์ ๊ณ ์ ์ด ๋จ.
- ๊ทธ๋ฆฌ๊ณ ๋ถ๋ชจ๋ฐ์ค๋ฅผ ๋์ด์ ์คํฌ๋กค ๋๋ฉด ์ด๋ฏธ์ง๋ ๊ฐ์ด ์ฌ๋ผ์ง!
if๋ฌธ๋์ switch ์ฌ์ฉlet ๋ณ์ = 2 + 2
switch(๋ณ์){
case 3:
alert('๋ณ์๊ฐ 3์ด๋ค์');
break
case 4:
alert('๋ณ์๊ฐ 4์ด๋ค์');
break
default:
alert('์๋ฌด๊ฒ๋ ํด๋น์๋จ')
break
}
- if์์ ์ฐจ์ด์ : if๋ ๋ค์ํ ์กฐ๊ฑด์์ด ๊ฐ๋ฅํจ.
- ๊ทธ๋ฌ๋ switch๋ ๋ณ์ 1๊ฐ๋ง ํ ์คํธ๊ฐ ๊ฐ๋ฅํจ.(๋ฑํธ๋น๊ต ๋ฐ์ ์๋จ..)
defalut๋else์ ๋น์ทํ ๊ฐ๋ ์ด๋ฉฐ,break๋ ์คํ์ ์ค์งํด๋ฌ๋ผ๋ ์๋ฏธ. ๋ง์ฝ ๋ธ๋ ์ดํฌ๊ฐ ์์ผ๋ฉด ์๋ ์ฝ๋๋ค๋ ๊ณ์ํด์ ์คํ๋จ. ใ ใ
alert ๋์ฐ๊ธฐ.<div id="quiz">
<h4>๋ฌผ์ ๋น ์ง๋ฉด ๋๊ตฌ๋จผ์ ๊ตฌํ ๊ฒ์?</h4>
<button>์์ดํ</button>
<button>๋ถ๋ชจ๋</button>
<button>ํค์ฐ๋ ๊ฐ</button>
</div>
<script>
document.querySelector('#quiz').addEventListener('click', function(e){
switch (e.target.innerHTML){
case '์์ดํ':
alert('์์ดํ๋ฅผ ์ข์ํ์๋ค์');
break
case '๋ถ๋ชจ๋':
alert('ํจ์๋ค์');
break
case 'ํค์ฐ๋ ๊ฐ':
alert('์ญ์ ์ฌ๋๋ณด๋จ ๋๋ฌผ์ด ๋ ๋ซ์ฃ ');
break
}
});
</script>