JavaScript(4)

zooyeongยท2023๋…„ 3์›” 15์ผ

7์ฃผ์ฐจ

๋ชฉ๋ก ๋ณด๊ธฐ
5/7
post-thumbnail

๐Ÿ’ก๋ธŒ๋ผ์šฐ์ € ๊ฐ์ฒด ๋ชจ๋ธ

๋ธŒ๋ผ์šฐ์ € ๊ฐ์ฒด ๋ชจ๋ธ์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด ์‚ฌ์–‘์— ํฌํ•จ๋˜์ง€ ์•Š๊ณ  ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ฐ์ฒด์ด๋‹ค.

๐Ÿ”ฝ๋ธŒ๋ผ์šฐ์ € ๊ฐ์ฒด ๋ชจ๋ธ์˜ ์ข…๋ฅ˜

  • window : ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์—ด๋ฆด ๋•Œ๋งˆ๋‹ค ์ƒ์„ฑ๋˜๋Š” ์ตœ์ƒ์œ„ ๊ด€๋ฆฌ ๊ฐ์ฒด
  • document : ์›น ๋ธŒ๋ผ์šฐ์ €์— ํ‘œ์‹œ๋˜๋Š” HTML ๋ฌธ์„œ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ๊ฐ์ฒด
  • location : ์›น ๋ธŒ๋ผ์šฐ์ €์— ํ˜„์žฌ ํ‘œ์‹œ๋œ ํŽ˜์ด์ง€์— ๋Œ€ํ•œ URL ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ๊ฐ์ฒด
  • history : ์›น ๋ธŒ๋ผ์šฐ์ €์— ์ €์žฅ๋œ ๋ฐฉ๋ฌธ ๊ธฐ๋ก์ด ํฌํ•จ๋œ ๊ฐ์ฒด
  • navigator : ์›น ๋ธŒ๋ผ์šฐ์ € ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ๊ฐ์ฒด
  • screen : ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ํ™”๋ฉด ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ๊ฐ์ฒด

โœ…window ๊ฐ์ฒด์˜ ์†์„ฑ๊ณผ ๋ฉ”์†Œ๋“œ

์ฃผ์š” ์†์„ฑ

  • innerWidth : ์›น ๋ธŒ๋ผ์šฐ์ € ํ™”๋ฉด์˜ ๋„ˆ๋น„
  • innerHeight : ์›น ๋ธŒ๋ผ์šฐ์ € ํ™”๋ฉด์˜ ๋†’์ด
  • outerWidth : ์›น ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์˜ ๋„ˆ๋น„
  • outerHeight : ์›น ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์˜ ๋†’์ด
  • screenTop/screenY : ์›น ๋ธŒ๋ผ์šฐ์ € ์œ„์ชฝ ๋ฉด๊ณผ ๋ชจ๋‹ˆํ„ฐ์˜ ๊ฐ„๊ฒฉ
  • screenLeft/screenX : ์›น ๋ธŒ๋ผ์šฐ์ € ์™ผ์ชฝ ๋ฉด๊ณผ ๋ชจ๋‹ˆํ„ฐ์˜ ๊ฐ„๊ฒฉ
  • scrollX : ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์ˆ˜ํ‰ ์Šคํฌ๋กค ์œ„์น˜
  • scrollY : ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์ˆ˜์ง ์Šคํฌ๋กค ์œ„์น˜

์ฃผ์š” ๋ฉ”์„œ๋“œ

  • alert() : ์•Œ๋ฆผ์ฐฝ ํ‘œ์‹œ
  • confirm() : ํ™•์ธ์ฐฝ ํ‘œ์‹œ
  • prompt() : ์ž…๋ ฅ์ฐฝ ํ‘œ์‹œ
  • open() : ์ƒˆ๋กœ์šด ์›น ๋ธŒ๋ผ์šฐ์ € ์ฐฝ ์—ด๊ธฐ
  • colse() : ์›น ๋ธŒ๋ผ์šฐ์ € ์ฐฝ ๋‹ซ๊ธฐ
  • scrollTo() : ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์Šคํฌ๋กค์„ ํŠน์ • ์œ„์น˜๋งŒํผ ์ด๋™
  • scrollBy() : ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์Šคํฌ๋กค์„ ํ˜„์žฌ ์œ„์น˜์—์„œ ์ƒ๋Œ€ ์œ„์น˜๋กœ ์ด๋™
//alert()
alert('๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€ ํŒ์—… ๋ฉ”์‹œ์ง€');

//confirm()
let isOk = confirm('์ง„ํ–‰ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?'); //ํ™•์ธ์„ ๋ฐ›๋Š” ๊ฒƒ! ํ™•์ธ or ์ทจ์†Œ ๋ฒ„ํŠผ
console.log(isOk); //ํ™•์ธ->true / ์ทจ์†Œ->false๋ฅผ ๋ฐ˜ํ™˜

if(isOk == true){
  //์ง„ํ–‰
} else{
  //๋ฉˆ์ถค
} //๊ณผ ๊ฐ™์€ ๋กœ์ง์œผ๋กœ ์“ธ ์ˆ˜ ์žˆ์Œ

//prompt
let result = prompt('๋‹น์‹ ์˜ ๋‚˜์ด๋Š”?'); //์ž…๋ ฅ์„ ๋ฐ›๋Š” ํ˜•ํƒœ
console.log(result); //ํ™•์ธ->์ž…๋ ฅ๋ฐ›์€๊ฐ’์„ ๋ฐ˜ํ™˜ / ์ทจ์†Œ->null

let result2 = prompt('์ง„ํ–‰ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? (์ง„ํ–‰:์˜ˆ, ์ค‘์ง€:์•„๋‹ˆ์˜ค ์ž…๋ ฅ)', '์˜ˆ'); //์ฝค๋งˆ(,) ๋’ค์— default๊ฐ’์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค(๋‹ต๋ณ€์œ ๋„)

behavior ์†์„ฑ
scrollTo() ๋ฉ”์„œ๋“œ๋‚˜ scrollBy() ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ ์‹œ behavior ์†์„ฑ์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐ’์œผ๋กœ smooth๋ฅผ ๋„ฃ์œผ๋ฉด ์Šคํฌ๋กค์ด ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ์ด๋™ํ•œ๋‹ค.


๐Ÿ’ก๋ฌธ์„œ ๊ฐ์ฒด ๋ชจ๋ธ(DOM)

๋ฌธ์„œ ๊ฐ์ฒด ๋ชจ๋ธ(DOM : Document Object Model)์€ ์›น ๋ธŒ๋ผ์šฐ์ €์— ํ‘œ์‹œ๋˜๋Š” ๋ฌธ์„œ๋ฅผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐ์ฒดํ™”ํ•œ ๋ชจ๋ธ ๊ตฌ์กฐ์ด๋‹ค.

๐Ÿ“–์†์„ฑ์œผ๋กœ ๋…ธ๋“œ ์„ ํƒํ•˜๊ธฐ

  • parentNode : ๋ถ€๋ชจ ๋…ธ๋“œ๋ฅผ ๋ฐ˜ํ™˜
  • childNodes : ๋ชจ๋“  ์ž์‹ ๋…ธ๋“œ๋ฅผ ๋ฐ˜ํ™˜
  • firstChild : ์ฒซ ๋ฒˆ์งธ ์ž์‹ ๋…ธ๋“œ๋ฅผ ๋ฐ˜ํ™˜
  • lastChild : ๋งˆ์ง€๋ง‰ ์ž์‹ ๋…ธ๋“œ๋ฅผ ๋ฐ˜ํ™˜
  • previousSibling : ์ด์ „ ํ˜•์ œ ๋…ธ๋“œ๋ฅผ ๋ฐ˜ํ™˜
  • nextSibling : ๋‹ค์Œ ํ˜•์ œ ๋…ธ๋“œ๋ฅผ ๋ฐ˜ํ™˜
  • parentElement : ๋ถ€๋ชจ ์š”์†Œ ๋…ธ๋“œ๋ฅผ ๋ฐ˜ํ™˜
  • children : ์ž์‹ ์š”์†Œ ๋…ธ๋“œ๋ฅผ ๋ฐ˜ํ™˜
  • firstElementChild : ์ฒซ ๋ฒˆ์งธ ์ž์‹ ์š”์†Œ ๋…ธ๋“œ๋ฅผ ๋ฐ˜ํ™˜
  • lastElementChild : ๋งˆ์ง€๋ง‰ ์ž์‹ ์š”์†Œ ๋…ธ๋“œ๋ฅผ ๋ฐ˜ํ™˜
  • previousElementSibling : ์ด์ „ ์š”์†Œ ๋…ธ๋“œ๋ฅผ ๋ฐ˜ํ™˜
  • nextElementSibling : ๋‹ค์Œ ์š”์†Œ ๋…ธ๋“œ๋ฅผ ๋ฐ˜ํ™˜

๐Ÿ”ฝchildNodes

๐Ÿ”ฝchildNodes[n]

๐Ÿ”ฝlastChild

๐Ÿ“–๋ฉ”์„œ๋“œ๋กœ ๋…ธ๋“œ ์„ ํƒํ•˜๊ธฐ

์œ„ ์†์„ฑ์œผ๋กœ ๋…ธ๋“œ ์„ ํƒํ•˜๊ธฐ๋ณด๋‹ค ๋ฉ”์„œ๋“œ๋กœ ๋…ธ๋“œ ์„ ํƒํ•˜๊ธฐ๊ฐ€ ์ฃผ๋กœ ์“ฐ์ธ๋‹ค. ์†์„ฑ๊ฐ’๊ณผ ํƒœ๊ทธ๋ช… ์‚ฌ์šฉํ•˜๊ธฐ๋กœ get ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๊ณ , CSS ์„ ํƒ์ž ์‚ฌ์šฉํ•˜๊ธฐ๋กœ query ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

โœ…get๋ฉ”์„œ๋“œ

  • getElementById(id์†์„ฑ๊ฐ’) : id ์†์„ฑ๊ฐ’๊ณผ ์ผ์น˜ํ•˜๋Š” ์š”์†Œ ๋…ธ๋“œ๋ฅผ 1๊ฐœ๋งŒ ์„ ํƒ
  • getElementsByClassName(class์†์„ฑ๊ฐ’) : class ์†์„ฑ๊ฐ’๊ณผ ์ผ์น˜ํ•˜๋Š” ์š”์†Œ ๋…ธ๋“œ๋ฅผ ๋ชจ๋‘ ์„ ํƒ
  • getElementsByTagName(ํƒœ๊ทธ๋ช…) : ํƒœ๊ทธ๋ช…๊ณผ ์ผ์น˜ํ•˜๋Š” ์š”์†Œ ๋…ธ๋“œ๋ฅผ ๋ชจ๋‘ ์„ ํƒ
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <p>pํƒœ๊ทธ1</p>
  <p>pํƒœ๊ทธ1</p>
  <div id="div1">๊ณ ์œ ์•„์ด๋””</div>
  <div class="divcls">ํด๋ž˜์Šค1</div>
  <div class="divcls">ํด๋ž˜์Šค2</div>

  <div class="container1">
    <div class="indiv"></div>
    <div class="indiv"></div>
    <div class="indiv"></div>
  </div>

  <div class="container2"></div>

  <script>
    const el1 = document.getElementById("div1"); //์ง€์ • ์•„์ด๋”” ์ด๋ฆ„์˜ ์š”์†Œ
    const el2s = document.getElementsByClassName("divcls"); //์ง€์ • ํด๋ž˜์Šค ์ด๋ฆ„์˜ ์š”์†Œ
    const el3s = document.getElementsByTagName("p"); //pํƒœ๊ทธ์ธ ์š”์†Œ
    console.log(el1);
    console.log(el2s);
    console.log(el3s);
  </script>
</body>
</html>

๐Ÿ”ฝconsole


โœ…query ๋ฉ”์„œ๋“œ

  • querySelector(CSS ์„ ํƒ์ž) : ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋„˜์–ด์˜ค๋Š” CSS ์„ ํƒ์ž์— ํ•ด๋‹นํ•˜๋Š” ๋…ธ๋“œ๋ฅผ 1๊ฐœ๋งŒ ์„ ํƒ
  • querySelectorAll(CSS ์„ ํƒ์ž) : ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋„˜์–ด์˜ค๋Š” CSS ์„ ํƒ์ž์— ํ•ด๋‹นํ•˜๋Š” ๋…ธ๋“œ๋ฅผ ๋ชจ๋‘ ์„ ํƒ
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <p>pํƒœ๊ทธ1</p>
  <p>pํƒœ๊ทธ1</p>
  <div id="div1">๊ณ ์œ ์•„์ด๋””</div>
  <div class="divcls">ํด๋ž˜์Šค1</div>
  <div class="divcls">ํด๋ž˜์Šค2</div>

  <div class="container1">
    <div class="indiv"></div>
    <div class="indiv"></div>
    <div class="indiv"></div>
  </div>

  <div class="container2">
    <div class="indiv"></div>
  </div>

  <script>
    const qs1 = document.querySelector("#div1");
    const qs2s = document.querySelectorAll(".divcls");
    const qs3s = document.querySelectorAll(".indiv");
    const qs4s = document.querySelectorAll(".container1 .indiv");
    console.log(qs1);
    console.log(qs2s);
    console.log(qs3s);
    console.log(qs4s);
  </script>
</body>
</html>

๐Ÿ”ฝconsole


๐Ÿ“–๋…ธ๋“œ ์กฐ์ž‘ํ•˜๊ธฐ

โœ…์ฝ˜ํ…์ธ  ์กฐ์ž‘ํ•˜๊ธฐ

  • textContent : ๋…ธ๋“œ ์š”์†Œ์˜ ๋ชจ๋“  ํ…์ŠคํŠธ์— ์ ‘๊ทผ
  • innerText : ๋…ธ๋“œ ์š”์†Œ์˜ ํ…์ŠคํŠธ ์ค‘ ์›น ๋ธŒ๋ผ์šฐ์ €์— ํ‘œ์‹œ๋˜๋Š” ํ…์ŠคํŠธ์—๋งŒ ์ ‘๊ทผ
  • innerHTML : ๋…ธ๋“œ ์š”์†Œ์˜ ํ…์ŠคํŠธ ์ค‘ HTML ํƒœ๊ทธ๋ฅผ ํฌํ•จํ•œ ํ…์ŠคํŠธ์—๋งŒ ์ ‘๊ทผ
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <p id="title">pTag๋ฌธ์ž, <span style="display:none;">spanํƒœ๊ทธ</span></p>
</body>
</html>

๐Ÿ”ฝconsole


โœ…์Šคํƒ€์ผ ์กฐ์ž‘ํ•˜๊ธฐ

์Šคํƒ€์ผ์„ ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ ํ˜•ํƒœ๋Š” ๋…ธ๋“œ.style.css์†์„ฑ๋ช… = ์†์„ฑ๊ฐ’;์™€ ๊ฐ™๋‹ค.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <p id="t1"></p>
  <p id="t2"></p>
  <p id="t3"></p>
  <script>
    document.querySelector('#t1').textContent = '<strong>textContent</strong> ์†์„ฑ';
    document.querySelector('#t2').innerText = '<strong>textContent</strong> ์†์„ฑ';
    document.querySelector('#t3').innerHTML = '<strong>textContent</strong> ์†์„ฑ';

	//์Šคํƒ€์ผ ์กฐ์ž‘ํ•˜๊ธฐ
	document.querySelector('#t1').style.color = 'red';
    const pt2 = document.querySelector('#t2');
    pt2.style.color = 'blue';
    const pt3 = document.getElementById('t3');
    pt3.style.fontSize = '30px';
  </script>
</body>
</html>

๐Ÿ”ฝ์‹คํ–‰ ๊ฒฐ๊ณผ


โœ…ํด๋ž˜์Šค ์†์„ฑ ์กฐ์ž‘ํ•˜๊ธฐ

ํด๋ž˜์Šค ์†์„ฑ์„ ํ†ตํ•ด ์ถ”๊ฐ€์™€ ์‚ญ์ œ๋ฅผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์ถ”๊ฐ€ : ๋…ธ๋“œ.classList.add(class์†์„ฑ๊ฐ’);
  • ์‚ญ์ œ : ๋…ธ๋“œ.classList.remove(class์†์„ฑ๊ฐ’);
  • ์ถ”๊ฐ€์™€ ์‚ญ์ œ ๋ฐ˜๋ณต : ๋…ธ๋“œ.classList.toggle(class์†์„ฑ๊ฐ’);
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    .box{
      width: 100px;
      height: 100px;
      border: 1px solid black;
    }
    .redbox{
      background-color: red;
    }
    .bluebox{
      background-color: blue;
    }
    .greenbox{
      background-color: green;
    }
    button{
      margin-top: 10px;
      color: white;
      background-color: black;
    }
  </style>
</head>
<body>
  <div id="box1" class="box"></div>
  <div id="box2" class="box"></div>
  <div id="box3" class="box"></div>
  <div id="box4" class="box redbox"></div>
  <button onclick="box4toggle()">๋„ค๋ฒˆ์งธ๋ฐ•์Šคํ† ๊ธ€</button>

  <script>
    document.getElementById('box1').classList.add('redbox');
    document.querySelector('#box2').classList.add('bluebox');
    document.querySelector('#box3').classList.add('greenbox');

    document.getElementById('box4').classList.remove('redbox');

	function box4toggle(){
    	document.getElementById('box4').classList.toggle('redbox');
    }
  </script>

</body>
</html>

๐Ÿ”ฝ์‹คํ–‰ ๊ฒฐ๊ณผ

=> '๋„ค๋ฒˆ์งธ๋ฐ•์Šคํ† ๊ธ€'๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด์„œ ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ๊ฐœ๋ฐœ์ž๋„๊ตฌ๋ฅผ ์‚ดํŽด๋ณด์•˜๋‹ค. ๋„ค๋ฒˆ์งธ๋ฐ•์Šคํ† ๊ธ€ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅผ ๋•Œ๋งˆ๋‹ค Elements > body > div id="box4"์˜ ํด๋ž˜์Šค์— redbox ํด๋ž˜์Šค๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ๋‹ค๊ฐ€ ์‚ญ์ œ๋˜๊ธฐ๋ฅผ ๋ฐ˜๋ณตํ•œ๋‹ค.


โœ…๋ฉ”์„œ๋“œ๋กœ ์†์„ฑ ์กฐ์ž‘ํ•˜๊ธฐ

  • ์†์„ฑ๊ฐ’ ๊ฐ€์ ธ์˜ค๊ธฐ : ๋…ธ๋“œ.getAttribute("์†์„ฑ๋ช…");
  • ์†์„ฑ๊ฐ’ ์„ค์ • : ๋…ธ๋“œ.setAttribute("์†์„ฑ๋ช…", "์†์„ฑ๊ฐ’");
  • ์†์„ฑ ์‚ญ์ œ : ๋…ธ๋“œ.removeAttribute("์†์„ฑ๋ช…");
<body>

  <a href="https://www.naver.com" target="_blank">๋ˆ„๋ฅด๋ฉด์‚ฌ์ดํŠธ์ด๋™</a>

  <script>

    const atag = document.querySelector('a');
    console.log(atag.getAttribute("href"));
    console.log(atag.getAttribute("target"));
    atag.setAttribute("href", "https://www.daum.net"); //์†์„ฑ๊ฐ’์„ ๋ฐ”๊ฟˆ
    console.log(atag.getAttribute("href"));

  </script>

</body>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    button{
      margin-top: 10px;
      color: white;
      background-color: black;
    }
  </style>
</head>
<body>

  <a href="https://www.naver.com" target="_blank">๋ˆ„๋ฅด๋ฉด์‚ฌ์ดํŠธ์ด๋™</a>
  <br>
  <button onclick="changeUrl()">๋„ค์ด๋ฒ„๋ฅผ๋‹ค์Œ์œผ๋กœ</button>

  <script>

    const atag = document.querySelector('a');
    console.log(atag.getAttribute("href"));
    console.log(atag.getAttribute("target"));

    function changeUrl(){
      atag.setAttribute("href", "https://www.daum.net");
    }
  </script>

</body>
</html>


๐Ÿ“–๋…ธ๋“œ ์ถ”๊ฐ€/์‚ญ์ œ

๋…ธ๋“œ ์ƒ์„ฑ

  • ์š”์†Œ ๋…ธ๋“œ ์ƒ์„ฑ : createElement()
  • ํ…์ŠคํŠธ ๋…ธ๋“œ ์ƒ์„ฑ : createTextNode()
  • ์†์„ฑ ๋…ธ๋“œ ์ƒ์„ฑ : createAttribute()

๋…ธ๋“œ ์—ฐ๊ฒฐ

  • ์ž์‹ ๋…ธ๋“œ ์—ฐ๊ฒฐ : ๊ธฐ์ค€๋…ธ๋“œ.appendChild(์ž์‹๋…ธ๋“œ);
  • ์†์„ฑ ๋…ธ๋“œ ์—ฐ๊ฒฐ : ๊ธฐ์ค€๋…ธ๋“œ.setAttributeNode(์†์„ฑ๋…ธ๋“œ);

๋…ธ๋“œ ์‚ญ์ œ

  • ์ž์‹ ๋…ธ๋“œ ์‚ญ์ œ : ๋ถ€๋ชจ๋…ธ๋“œ.removechild(์ž์‹๋…ธ๋“œ);
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  
  <div id="container">
    <p id="p1">p1</p>
    <p id="p2">p2</p>
  </div>

  <script>
    const newE1 = document.createElement("a"); //์š”์†Œ ๋…ธ๋“œ ์ƒ์„ฑ

    const linkText = document.createTextNode("๋งํฌ๊ธ€์ž"); //ํ…์ŠคํŠธ ๋…ธ๋“œ ์ƒ์„ฑ
    const linkHref = document.createAttribute("href"); //์†์„ฑ ๋…ธ๋“œ ์ƒ์„ฑ
    linkHref.value = "https://www.naver.com"; //์†์„ฑ๊ฐ’ ๋„ฃ๊ธฐ

    const linkTarget = document.createAttribute("target");
    linkTarget.value = "_blank";

    newE1.appendChild(linkText);
    newE1.setAttributeNode(linkHref);
    newE1.setAttributeNode(linkTarget);

    document.body.appendChild(newE1); //๋…ธ๋“œ ์—ฐ๊ฒฐ

    const p2 = document.querySelector("#p2");
    p2.parentNode.removeChild(p2); //๋…ธ๋“œ ์‚ญ์ œ

  </script>
</body>
</html>
profile
Have a good day โŒฏโ€™โ–พโ€™โŒฏ

0๊ฐœ์˜ ๋Œ“๊ธ€