insertAdjacentHTML

1. ๊ฐœ์š”

์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด innerHTML ํ”„๋กœํผํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ์กด ์š”์†Œ๋ฅผ ๋ชจ๋‘ ์ œ๊ฑฐํ•œ ํ›„ ์ƒˆ๋กญ๊ฒŒ ์ƒ์„ฑ์ด ๋œ๋‹ค. ์ด๋Š” ๋น„ํšจ์œจ์ ์ด๋ผ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” insertAdjacentHTML ๋ฉ”์„œ๋“œ๋ฅผ ์•Œ์•„๋ณด์ž.


2. insertAdjacentHTML

insertAdjacentHTML(position, DOMString) ๋ฉ”์„œ๋“œ๋Š” ๊ธฐ์กด ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•˜์ง€ ์•Š์œผ๋ฉด์„œ ์œ„์น˜๋ฅผ ์ง€์ •ํ•ด ์ƒˆ๋กœ์šด ์š”์†Œ๋ฅผ ์‚ฝ์ž…ํ•œ๋‹ค.

์ฒซ ๋ฒˆ์งธ ์ธ์ˆ˜๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ž์—ด์€ beforebegin, afterbegin, beforeend, afterend์˜ 4๊ฐ€์ง€์ด๋‹ค.

insertAdjacentHTML position

2-1. insertAdjacentHTML - beforebegin

<!DOCTYPE html>
<html lang="en">
  <body>
    <div id="foo">
      Hello
      <div>world</div>
    </div>
    <script>
      const $foo = document.getElementById("foo");
      $foo.insertAdjacentHTML("beforebegin", "<div> beforebegin insert</div>");
    </script>
  </body>
</html>
insertAdjacentHTML - beforebegin

2-2. insertAdjacentHTML - afterbegin

<!DOCTYPE html>
<html lang="en">
  <body>
    <div id="foo">
      Hello
      <div>world</div>
    </div>
    <script>
      const $foo = document.getElementById("foo");
      $foo.insertAdjacentHTML("afterbegin", "<div> afterbegin insert</div>");
    </script>
  </body>
</html>
insertAdjacentHTML - afterbegin

2-3. insertAdjacentHTML - beforeend

<!DOCTYPE html>
<html lang="en">
  <body>
    <div id="foo">
      Hello
      <div>world</div>
    </div>
    <script>
      const $foo = document.getElementById("foo");
      $foo.insertAdjacentHTML("beforeend", "<div> beforeend insert</div>");
    </script>
  </body>
</html>
insertAdjacentHTML - beforeend

2-4. insertAdjacentHTML - afterend

<!DOCTYPE html>
<html lang="en">
  <body>
    <div id="foo">
      Hello
      <div>world</div>
    </div>
    <script>
      const $foo = document.getElementById("foo");
      $foo.insertAdjacentHTML("afterend", "<div> afterend insert</div>");
    </script>
  </body>
</html>
insertAdjacentHTML - afterend

3. insertAdjacentHTML ์žฅ์ ๊ณผ ๋‹จ์ 

insertAdjacentHTML ๋ฉ”์„œ๋“œ๋Š” ๊ธฐ์กด ์š”์†Œ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ณ  ์ƒˆ๋กญ๊ฒŒ ์‚ฝ์ž…๋  ์š”์†Œ๋งŒ ํŒŒ์‹ฑํ•˜์—ฌ ์ž์‹ ์š”์†Œ๋กœ ์ถ”๊ฐ€ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Š” innerHTML ํ”„๋กœํผํ‹ฐ๋ณด๋‹ค ํšจ์œจ์ ์ด๊ณ  ๋น ๋ฅด๋‹ค.

ํ•˜์ง€๋งŒ innerHTML ํ”„๋กœํผํ‹ฐ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ HTML ๋งˆํฌ์—… ๋ฌธ์ž์—ด์„ ํŒŒ์‹ฑํ•˜๋ฏ€๋กœ ํฌ๋กœ์Šค ์‚ฌ์ดํŠธ ์Šคํฌ๋ฆฝํŒ… ๊ณต๊ฒฉ์— ์ทจ์•ฝํ•˜๋‹ค.


4. Conclusion

insertAdjacentHTML ๋ฉ”์„œ๋“œ๋Š” ์•„์ง ์‚ฌ์šฉํ•ด ๋ณธ ์ ์ด ์—†๋Š” ๋ฉ”์„œ๋“œ์ด๋‹ค. innerHTML ํ”„๋กœํผํ‹ฐ๋งŒ ์‚ฌ์šฉ์„ ํ•ด๋ณด์•˜๋‹ค. ์•ž์œผ๋กœ๋Š” ๋” ํšจ์œจ์ ์ธ insertAdjacentHTML ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด๋ณด๋„๋ก ํ•˜์ž. ๋˜ํ•œ ์œ„์น˜๊นŒ์ง€ ์ •ํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์•ˆ ๋”์šฑ ๋งŽ์„ ๊ฒƒ์ด๋‹ค.


์ฐธ๊ณ 

๋„์„œ - ๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive: ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ๋™์ž‘ ์›๋ฆฌ


๐Ÿ“… 2022-10-15

Last updated