WEB/JavaScript

[JavaScript] Content ์กฐ์ž‘(1) : innerText, innerHTML, textContent

developer of the night sky 2023. 10. 10. 12:45

๐Ÿ”ปContent ์กฐ์ž‘๐Ÿ”ป

  • Content ์กฐ์ž‘ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ์‹œ์ž‘ ํƒœ๊ทธ์™€ ๋ ํƒœ๊ทธ ์‚ฌ์ด์˜ ๋‚ด์šฉ๋ฌผ(PCDATA, ์ž์‹(Element) ์กฐ์ž‘ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์ ‘๊ทผ๋ฒ•

1. innerText

  • ์‹œ์ž‘ ํƒœ๊ทธ์™€ ๋ ํƒœ๊ทธ ์‚ฌ์ด์˜ ๋ฌธ์ž์—ด์„ ์ฝ๊ณ  ์“ฐ๋Š” ํ”„๋กœํผํ‹ฐ
  • ๋ฌธ์ž์—ด๋งŒ ์ธ์‹ํ•œ๋‹ค.
  • textContent์™€ ๋™์ผํ•œ ๊ธฐ๋Šฅ์„ํ•˜์ง€๋งŒ innetText๋Š” MS์—์„œ ๋งŒ๋“  ๋น„ํ‘œ์ค€์ด๋‹ค.

2. innerHTML(โ˜…)

  • ์‹œ์ž‘ ํƒœ๊ทธ์™€ ๋ ํƒœ๊ทธ ์‚ฌ์ด์˜ ๋ฌธ์ž์—ด์„ ์ฝ๊ณ  ์“ฐ๋Š” ํ”„๋กœํผํ‹ฐ
  • ๋ฌธ์ž์—ด๊ณผ ํƒœ๊ทธ๋ฅผ ์ธ์‹ํ•œ๋‹ค.

3. textContent

  • ์‹œ์ž‘ ํƒœ๊ทธ์™€ ๋ ํƒœ๊ทธ ์‚ฌ์ด์˜ ๋ฌธ์ž์—ด์„ ์ฝ๊ณ  ์“ฐ๋Š” ํ”„๋กœํผํ‹ฐ
  • ๋ฌธ์ž์—ด๋งŒ ์ธ์‹ํ•œ๋‹ค.
  • ํ‘œ์ค€

๊ธฐ๋ณธ ๋ผˆ๋Œ€

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>content</h1>

    <input type="button" value="๋ฒ„ํŠผ" id="btn1">
    <input type="button" value="๋ฒ„ํŠผ" id="btn2">

    <div id="div1">์ฝ˜ํ…์ธ  ์˜์—ญ</div>
</body>
</html>

innerText ์™€ textContent

    <script>
        document.getElementById('btn1').onclick = m1;
        function m1() {
            var div1 = document.getElementById('div1');

            //์ฝ๊ธฐ
            alert(div1.innerText);
            alert(div1.textContent);

            //์“ฐ๊ธฐ
            div1.innerText = '์ฝ˜<b>ํ…</b>์ธ '
            div1.textContent = '์ฝ˜<b>ํ…</b>์ธ '
        }
    </script>

innerText ์™€ textContent๋Š” ๋ฌธ์ž์—ด๋งŒ ์ธ์‹ํ•˜๋ฏ€๋กœ ํƒœ๊ทธ๋ฅผ ๋ฌธ์ž์—ด๋กœ ์ถœ๋ ฅํ•œ๋‹ค.


innerHTML

    <script>
        document.getElementById('btn1').onclick = m1;
        function m1() {
            var div1 = document.getElementById('div1');

            //์ฝ๊ธฐ
            alert(div1.innerHTML);

            //์“ฐ๊ธฐ
            // div1.innerHTML = '์ฝ˜ํ…์ธ  ์ˆ˜์ •2';
            div1.innerHTML = '์ฝ˜<b>ํ…</b>์ธ '
        }
        
    </script>

innerHTML์€ ๋ฌธ์ž์—ด๊ณผ ํƒœ๊ทธ๋ฅผ ์ธ์‹ํ•˜๋ฏ€๋กœ bํƒœ๊ทธ๊ฐ€ ์ ์šฉ๋˜์–ด ์ถœ๋ ฅ๋˜์—ˆ๋‹ค.


๋™์ ์œผ๋กœ ํƒœ๊ทธ ์ƒ์„ฑํ•˜๊ธฐ(innerHTML)

    <script>
        //๋™์ ์œผ๋กœ ํƒœ๊ทธ ์ƒ์„ฑํ•˜๊ธฐ
        document.getElementById('btn2').onclick = m2;
        function m2() {
            if (document.getElementById('div1').innerHTML=='') {
                div1.innerHTML += '<input type="text" value="์ฝ˜ํ…์ธ ">';
            } else {
                document.getElementById('div1').innerHTML='';
            }
        }
        
    </script>

innerHTML์— ํƒœ๊ทธ๋ฅผ ๋Œ€์ž…ํ•˜์—ฌ ๋™์ ์œผ๋กœ ์ƒ์„ฑํ•  ์ˆ˜๋„ ์žˆ๋‹ค.


๐Ÿ”ปํ…Œ์ด๋ธ” ๋™์ ์œผ๋กœ ์ƒ์„ฑํ•˜๊ธฐ๐Ÿ”ป

๊ธฐ๋ณธ ๋ผˆ๋Œ€

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <style>
        fieldset {
            border: 1px solid #777;
            width: 200px;
        }
        fieldset > label {
            display: block;
            margin-bottom: 10px;
        }

        #tbl1 {
            border: 1px solid gray;
            border-collapse: collapse;
            margin-top: 20px;
        }

        #tbl1 td {
            border: 1px solid gray;
            width: 50px;
            height: 50px;
        }
    </style>
</head>
<body>
    
    <h1>ํ…Œ์ด๋ธ” ์ƒ์„ฑํ•˜๊ธฐ</h1>

    <fieldset>
        <legend>ํ–‰์—ด</legend>
        <label>ํ–‰: <select id="selrow"></select></label>

        <label>์—ด: <select id="selcolumn"></select></label>
        <input type="button" value="์ƒ์„ฑํ•˜๊ธฐ" id="btn1">
    </fieldset>

    <table id="tbl1"></table>

</body>
</html>

 

id๋กœ ๊ฒ€์ƒ‰ํ•˜๊ธฐ

    <script>
        var selrow = document.getElementById('selrow');
        var selcolumn = document.getElementById('selcolumn');
        var btn1 = document.getElementById('btn1');
        var tbl1 = document.getElementById('tbl1');
    </script>

 

select box ์˜ต์…˜ ์ƒ์„ฑํ•˜๊ธฐ(์ดˆ๊ธฐํ™”)

    <script>
        for (var i=1; i<=10; i++) {
            /* ๋ฐฉ๋ฒ•1
            var op = new Option();
            op.value = i;
            op.text = i;
            */
            //๋ฐฉ๋ฒ•2
            //var op = new Option(i,i);

            selrow.options.add(new Option(i,i));
            selcolumn.options.add(new Option(i,i));
        }

        //๊ธฐ๋ณธ๊ฐ’ ์„ค์ •
        selrow.selectedIndex = 4;
        selcolumn.selectedIndex = 4;
    </script>

 

<tr>, <td> ๋™์  ์ƒ์„ฑํ•˜๊ธฐ

    <script>
        btn1.onclick = m1;

        function m1() {
            var temp = '';      //๋ˆ„์ ๋ณ€์ˆ˜
            
            for (var i=0; i<selrow.value; i++){ //ํ–‰
                temp += '<tr>';
                for (var j=0; j<selcolumn.value; j++) { //์—ด
                    temp += '<td>';
                    temp += i + ', ' + j;
                    temp += '</td>';
                }
                temp += '</tr>';
            }
            tbl1.innerHTML = temp;
        }

    </script>

์ „์ฒด ์ฝ”๋“œ

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <style>
        fieldset {
            border: 1px solid #777;
            width: 200px;
        }
        fieldset > label {
            display: block;
            margin-bottom: 10px;
        }

        #tbl1 {
            border: 1px solid gray;
            border-collapse: collapse;
            margin-top: 20px;
        }

        #tbl1 td {
            border: 1px solid gray;
            width: 50px;
            height: 50px;
        }
    </style>
</head>
<body>
    
    <h1>ํ…Œ์ด๋ธ” ์ƒ์„ฑํ•˜๊ธฐ</h1>

    <fieldset>
        <legend>ํ–‰์—ด</legend>
        <label>ํ–‰: <select id="selrow"></select></label>

        <label>์—ด: <select id="selcolumn"></select></label>
        <input type="button" value="์ƒ์„ฑํ•˜๊ธฐ" id="btn1">
    </fieldset>

    <table id="tbl1"></table>

    <script>
        var selrow = document.getElementById('selrow');
        var selcolumn = document.getElementById('selcolumn');
        var btn1 = document.getElementById('btn1');
        var tbl1 = document.getElementById('tbl1');
        
        //selectbox ์˜ต์…˜ ์ƒ์„ฑํ•˜๊ธฐ
        //select box ์ดˆ๊ธฐํ™”
        for (var i=1; i<=10; i++) {
            /* ๋ฐฉ๋ฒ•1
            var op = new Option();
            op.value = i;
            op.text = i;
            */
            //๋ฐฉ๋ฒ•2
            //var op = new Option(i,i);

            selrow.options.add(new Option(i,i));
            selcolumn.options.add(new Option(i,i));
        }

        //๊ธฐ๋ณธ๊ฐ’ ์„ค์ •
        selrow.selectedIndex = 4;
        selcolumn.selectedIndex = 4;

        btn1.onclick = m1;

        //<tr>, <td> ๋™์  ์ƒ์„ฑํ•˜๊ธฐ
        function m1() {
            var temp = '';      //๋ˆ„์ ๋ณ€์ˆ˜
            
            for (var i=0; i<selrow.value; i++){ //ํ–‰
                temp += '<tr>';
                for (var j=0; j<selcolumn.value; j++) { //์—ด
                    temp += '<td>';
                    temp += i + ', ' + j;
                    temp += '</td>';
                }
                temp += '</tr>';
            }

            tbl1.innerHTML = temp;

        }

    </script>

</body>
</html>