Javascript ์ฝ”๋“œ๋ฅผ HTML ํŽ˜์ด์ง€์—์„œ ์ถœ๋ ฅํ•˜๊ธฐ

2022. 9. 21. 17:11ยทLanguage/JavaScript

Javascript ์ฝ”๋“œ๋ฅผ HTML ํŒŒ์ผ์—์„œ Text๋กœ ์ถœ๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋‹ค๋ค„๋ณด์ž

 

๐ŸŽจHTML & CSS ์ž‘์—…

Javascript ์ฝ”๋“œ๋ฅผ ์ถœ๋ ฅํ•  HTML ํŒŒ์ผ์ด ๋จผ์ € ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์—,

HTML ๊ธฐ๋ณธ ๊ตฌ์กฐ ํŒŒ์ผ์˜ bodyํƒœ๊ทธ ์•ˆ์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•ด์ฃผ์—ˆ๋‹ค. 

    <div id="printJS">
        <div id="explainText">
            Printing Javascript Output Value:
        </div>
        <div id="printingBox">
        </div>
    </div>

๋‹ค์Œ์€ css ์ž‘์—…์ธ๋ฐ ๋‚ด์šฉ ๋ณด๊ธฐ ์ข‹์œผ๋ผ๊ณ  ํ•˜๋Š” ๊ฑฐ๋ผ ์Šคํ‚ตํ•ด๋„ ๋ณ„ ์ƒ๊ด€์€ ์—†๋‹ค

#explainText{
    color: navy;
    font-size: 20px;
    margin-bottom: 15px;
}

#printingBox{
    width: 850px;
    height: 400px;
    border: 2px solid silver;
    color: green;
    padding: 10px 0px 0px 15px;
}

๋Œ€๋žต ์ด๋Ÿฐ ํ™”๋ฉด์ด ๋‚˜์˜ค๋Š”๋ฐ, box๋ผ๋Š” ๊ธ€์ž๊ฐ€ ์จ์ ธ์žˆ๋Š” ๊ณณ์— Javascript ์ฝ”๋“œ๋ฅผ ์ถœ๋ ฅํ•ด๋ณผ ๊ฒƒ์ด๋‹ค.

โ“Javascript์—์„œ HTML ์„ ์กฐ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•

Javascript ์ฝ”๋“œ์˜ ์‹คํ–‰๊ฐ’์„ HTML์—์„œ ์ถœ๋ ฅํ•˜๋Š” ๊ณผ์ •์€ Javascript๋ฅผ ํ†ตํ•ด HTML์„ ์กฐ์ž‘ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์ข€ ๋” ๊ตฌ์ฒด์ ์œผ๋กœ ๋งํ•˜์ž๋ฉด DOM์œผ๋กœ HTML Element(์š”์†Œ)๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์—ฌ๊ธฐ์„œ HTML ์š”์†Œ๋ผ๋Š” ๊ฒƒ์€ <p>์ด๊ฒƒ์€ ๋ฌธ๋‹จ์ž…๋‹ˆ๋‹ค. </p>์™€ ๊ฐ™์ด ๋‚ด์šฉ์„ ํฌํ•จํ•ด์„œ ์‹œ์ž‘ ํƒœ๊ทธ์™€ ์ข…๋ฃŒ ํƒœ๊ทธ๊นŒ์ง€๋ฅผ ํ•˜๋‚˜์˜ ์š”์†Œ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด DOM์€ ๋ญ˜๊นŒ?

DOM์ด๋ž€

  • Document Object Model = ๋ฌธ์„œ ๊ฐ์ฒด ๋ชจ๋ธ
  • HTML ์š”์†Œ๋ฅผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด(Object)์ฒ˜๋Ÿผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“  ๋ชจ๋ธ/๊ตฌ์กฐ
  • DOM์„ ์ด์šฉํ•ด์„œ HTML๋กœ ๊ตฌ์„ฑ๋œ ์›นํŽ˜์ด์ง€์— Javascript ์ฝ”๋“œ๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค

์ด DOM๊ณผ ์ด๋ฒคํŠธ๋ฅผ ํ†ตํ•ด ์ •์ ์ธ HTML ํŽ˜์ด์ง€๋ฅผ ๋™์ ์œผ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” Javascript์˜ ์ฝ”๋“œ๋ฅผ HTMLํŽ˜์ด์ง€์— ๋„์šฐ๋Š” ์ •๋„๋กœ๋งŒ ์ ‘๊ทผํ•ด๋ณด์ž 

 

HTML ์š”์†Œ๋ฅผ Javascript ๋ณ€์ˆ˜์— ์ €์žฅํ•˜๊ธฐ

๋ฏธ๋ฆฌ ์ž‘์„ฑํ•ด๋‘” HTML ํŒŒ์ผ์—์„œ ์šฐ๋ฆฌ๊ฐ€ Javascript ์ฝ”๋“œ๋ฅผ ๋„์šธ ๊ณณ์€ ํšŒ์ƒ‰ ๋ฐ•์Šค ๋‚ด๋ถ€์ด๋ฏ€๋กœ, printingBox๊ฐ€ id์ธ ์š”์†Œ๋งŒ์„ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค.

์ด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜๊ฐ€ getElementById() ํ•จ์ˆ˜์ด๋‹ค. ํ˜•ํƒœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค

 

getElementById() ๊ธฐ๋ณธ ํ˜•ํƒœ
var [HTML์š”์†Œ๋ฅผ ์ €์žฅํ•  ๋ณ€์ˆ˜ ์ด๋ฆ„] = document.getElementById("[์ง€์ •ํ•  ์š”์†Œ์˜ id๊ฐ’]");

์ด๊ฑธ ์œ„์˜ ์˜ˆ์ œ์— ์ ์šฉํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค

 

์˜ˆ์ œ
var printingBox = document.getElementById("printingBox");

์—ฌ๊ธฐ์„œ document๋Š” Javascript ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” html๋ฌธ์„œ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. 

id๊ฐ€ printingBox์ธ HTML์š”์†Œ๋ฅผ ๊ฐ€์ ธ์™€์„œ printingBox ๋ผ๋Š” ๋ณ€์ˆ˜์— ๋‹ด์•„๋‘๋Š” ์ฝ”๋“œ์ด๋‹ค.

 

์ด๋ ‡๊ฒŒ ์›ํ•˜๋Š” HTML ์š”์†Œ๋ฅผ ์ง€์ •ํ•ด์„œ Javascript ์ฝ”๋“œ์—์„œ ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ๋‹จ๊ณ„๊นŒ์ง€ ์„ฑ๊ณตํ–ˆ๋Š”๋ฐ,

์—ฌ๊ธฐ์„œ getElementById ์™ธ์—๋„ querySelector()์™€ getElementsByClass() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

 

 

Javascript์—์„œ HTML ์š”์†Œ์— ์›ํ•˜๋Š” ๊ฐ’ ์ง‘์–ด๋„ฃ๊ธฐ

์ด๋ ‡๊ฒŒ ์›ํ•˜๋Š” HTML ์š”์†Œ๋ฅผ ์ง€์ •ํ–ˆ์œผ๋ฉด ํ•ด๋‹น ์š”์†Œ์˜ ์•ˆ์— ์›ํ•˜๋Š” ๊ฐ’์„ ํ• ๋‹นํ•ด์ฃผ๋ฉด ๋˜๋Š”๋ฐ 

์—ฌ๊ธฐ์— ํ•„์š”ํ•œ ์†์„ฑ์œผ๋กœ innerHTML, innerText, insertAdjacentHTML , insertAdjacentText๋“ฑ์ด ์žˆ๋‹ค. 

๋’ค์— ๋‘ ์†์„ฑ์€ DOM์— ๋Œ€ํ•ด ์ข€ ๋” ๊นŠ๊ฒŒ ์„ค๋ช…ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋‹ค์Œ์— ์•Œ์•„๋ณด๋Š” ๊ฑธ๋กœ ํ•˜๊ณ ,

 

๊ฐ€์žฅ ์ž์ฃผ ์‚ฌ์šฉ๋˜๊ณ  ์ง€๊ธˆ ์‹ค์Šต์— ํ•„์š”ํ•œ ์•ž์˜ ๋‘ ์†์„ฑ๋งŒ ์•Œ์•„๋ณด์ž

  • innerHTML : HTML์š”์†Œ์˜ ํƒœ๊ทธ๊นŒ์ง€ ๊ฐ€์ ธ์˜จ๋‹ค. HTML ํŠน์ • ์œ„์น˜์— ์ƒˆ๋กœ์šด HTML์„ ์‚ฝ์ž…ํ•  ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • innerText : innerHTML๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ HTML ์š”์†Œ์˜ ๋‚ด์šฉ๋งŒ ๊ฐ€์ ธ์˜จ๋‹ค.
innerHTML vs innerText ์ฐจ์ด์  ๋น„๊ต

๋จผ์ € ๊ฐ ์†์„ฑ์ด ๊ฐ€์ง€๋Š” ๊ฐ’์„ ์œ„์˜ ์˜ˆ์‹œ์— ์ ์šฉํ•˜์—ฌ ๋น„๊ตํ•ด๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค

printingBox.innerHTML; // <div id="printingBox"> box <div> ๋ฅผ ๋ชจ๋‘ ๊ฐ€์ ธ์˜จ๋‹ค
printingBox.innerText; // box ๋งŒ ๊ฐ€์ ธ์˜จ๋‹ค

๋‹ค์Œ์€ ์ง์ ‘ ์ด ์†์„ฑ์— ์ƒˆ๋กœ์šด ๊ฐ’์„ ๋„ฃ์„ ๋•Œ ์ฐจ์ด์ ์„ ๋ณด์ž

printingBox.innerHTML = "<span style=color:red'> A </span>"

innerHTML์€ ์œ„์™€ ๊ฐ™์ด ์Šคํƒ€์ผ์ด ์ ์šฉ๋œ ํƒœ๊ทธ๋ฅผ ํฌํ•จํ•ด์„œ ์š”์†Œ ๋‚ด๋ถ€์— ์ƒˆ๋กœ์šด ์š”์†Œ๋ฅผ ๋„ฃ์–ด์ค„ ๋•Œ

์ƒˆ๋กœ์šด ์š”์†Œ์˜ ๋‚ด์šฉ ๋ถ€๋ถ„์ธ A๋งŒ ํŽ˜์ด์ง€์—์„œ ๋ณด์ด๊ณ  style๋„ ์ œ๋Œ€๋กœ ์ ์šฉ๋˜์–ด spanํƒœ๊ทธ๋กœ ์ž‘์„ฑ๋œ ์š”์†Œ๊ฐ€ ๋‚ด๊ฐ€ ์ง€์ •ํ•œ ๋ฐ•์Šค ์š”์†Œ ์•ˆ์— ์ƒ๊ฒผ์Œ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

printingBox.innerText = "<span style=color:red'> A </span>"

๋ฐ˜๋ฉด innerText๋Š” ๊ฐ™์€ ๊ฐ’์„ ๋„ฃ์–ด๋„

์ „์ฒด ๋‚ด์šฉ์ด ๋”ฐ๋ผ ๋‚˜์˜ค๋ฉฐ ๋‹น์—ฐํžˆ ์Šคํƒ€์ผ๋„ ์ ์šฉ๋˜์ง€ ์•Š์•„์„œ ๊ธฐ์กด ๊ฐ’์ธ ์ดˆ๋ก์ƒ‰ ๊ธ€์”จ๊ฐ€ ๋‚˜์˜จ๋‹ค.

์ƒํ™ฉ์— ๋งž๊ฒŒ ์ž˜ ์ ์šฉํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๊ฒ ๋‹ค.

 

์—ฌ๊ธฐ๊นŒ์ง€ ์™”์œผ๋ฉด ์ด์ œ ์›ํ•˜๋Š” Javascript ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์„œ ์œ„์˜ ๋ฐฉ์‹๋Œ€๋กœ HTML์š”์†Œ์— ๋„ฃ์–ด์ฃผ๋ฉด ๋์ด๋‹ค.

๋‚˜๋Š” ์˜ˆ์‹œ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ

function practiceCode() {
    var a = 10;
    var b = 5;
    var result = a + b;
    return result;
}

innerHTML๋กœ ๋„ฃ์–ด์ฃผ์—ˆ๋‹ค.

printingBox.innerHTML = "<span id='textPrinted'>" + practiceCode() +"</span>"

(Template Literal ์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด `<span id="textPrinted"> ${ practiceCode() }</span>` ๋กœ ์ž‘์„ฑํ•ด๋„ ๋˜‘๊ฐ™๋‹ค.)

 

ํŽ˜์ด์ง€์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚˜์˜จ๋‹ค.

๋ฌผ๋ก  ํ•จ์ˆ˜๋ฅผ ๋”ฐ๋กœ ๋งŒ๋“ค์ง€ ์•Š๊ณ  ํ•จ์ˆ˜๊ฐ€ ์žˆ๋Š” ์œ„์น˜์— ๋ฐ”๋กœ ์›ํ•˜๋Š” ์—ฐ์‚ฐ์„ ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋„ ๋œ๋‹ค.

 

 

์ „์ฒด ์ฝ”๋“œ
var printingBox = document.getElementById("printingBox");
printingBox.innerHTML = "<span id='textPrinted'>" + practiceCode() +"</span>"


function practiceCode() {
    var a = 10;
    var b = 5;
    var result = a + b;
    return result;
}

 

์ด๋ ‡๊ฒŒ Javascript ์ฝ”๋“œ๋ฅผ HTML์—์„œ ์ถœ๋ ฅํ•˜์—ฌ ๋ฐ”๋กœ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์—ฐ์Šต์žฅ ์‚ฌ์ดํŠธ๊ฐ€ ์™„์„ฑ๋˜์—ˆ๋‹ค.

 

html,css๋ฅผ ํฌํ•จํ•œ ์ „์ฒด ์ฝ”๋“œ

 

GitHub - joraeng/javascript_notepad

Contribute to joraeng/javascript_notepad development by creating an account on GitHub.

github.com

 

 

 

 

'Language > JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[JavaScript] arrow function ์ค‘๊ด„ํ˜ธ ์ƒ๋žต, map, ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น  (0) 2022.10.11
'Language/JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [JavaScript] arrow function ์ค‘๊ด„ํ˜ธ ์ƒ๋žต, map, ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น
_๋ฃจ๋””_
_๋ฃจ๋””_
  • _๋ฃจ๋””_
    Rudy DevNote ๐Ÿ“˜
    _๋ฃจ๋””_
  • ๐Ÿ ํ™ˆ ํ™”๋ฉด
    ๊ธ€์“ฐ๊ธฐ ๊ด€๋ฆฌ
    • All (45)
      • Database (7)
        • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ก  (7)
      • CodingTest (3)
        • Algorithm (2)
        • Data Structure (0)
        • Solving (0)
      • CS ์ง€์‹ (9)
        • ์ •๋ณด๋ณดํ˜ธ๋ก  (6)
        • ๋„คํŠธ์›Œํฌ (3)
        • ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (0)
      • Framework (4)
        • Node.js (1)
        • Nest.js (3)
        • Spring (0)
      • Design Pattern (1)
      • Language (8)
        • Java (0)
        • JavaScript (2)
        • TypeScript (0)
        • Python (6)
      • ์ธ๊ณต์ง€๋Šฅ(AI) (1)
        • ๋จธ์‹ ๋Ÿฌ๋‹(ML) (1)
      • My Story (10)
        • ์ž๊ฒฉ์ฆ (2)
        • ๋Œ€ํšŒ&ํ”Œ์  ํ›„๊ธฐ (3)
        • ์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค (5)
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.1
_๋ฃจ๋””_
Javascript ์ฝ”๋“œ๋ฅผ HTML ํŽ˜์ด์ง€์—์„œ ์ถœ๋ ฅํ•˜๊ธฐ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”