最新!JavaScript入門講座 DOM入門 DOMの書き換えをわかりやすく解説

JavaScript
この記事は約7分で読めます。

DOMではサイトにテキストや要素を動的に表示させたりすることができます。Webサイトを構築する上で、DOMで要素の取得や出力は基礎になってきます。

今回は、DOMでテキストを出力する方法を解説していきます。

本記事のペルソナ
  • JavaScript初学者の方
  • DOMを学びたい方
  • DOMでテキストを出力させたい方

DOMの書き換え

要素の中身にアクセスする(innerHTML)

DOMの内容を書き換えるには、主に2つのやり方があります。そのうちの一つが、「innerHTML」になります。このプロパティは最もよく使われるスタンダードなものです。DOMを書き換えるなら、間違いなく使われています。

<!DOCTYPE html>
<html lang="ja">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width = device-width ,initial-scale = 1" />
        <meta name="robots" content="noindex,nofollow" />
        <meta http-equiv="Content-Style-Type" content="text/css" />
        <meta http-equiv="Content-Script-Type" content="text/javascript" />
        <title>
            JavaScript入門講座
        </title>
        <script>

        </script>
    </head>
    <body>
        <h1>DOM入門</h1>
        <h2 id="js-head-2">JavaScript</h2>

        <div id="js-div">クレジットカードは使っていますか?</div>
        <div id="js-ans"></div>
        <div id="js-card"></div>
        <script src="script.js"></script>
    </body>
</html>
let doc = document;
let doc_ans = doc.getElementById("js-ans");
doc_ans.innerHTML = "はい";

let doc_card = doc.getElementById("js-card");
doc_card.innerHTML = "楽天カードを使っています。";

innerHTMLに文字列を代入することでDOMを書き換えたり、テキストを表示させたりすることができます。ただ、innerHTMLはHTMLコードを文字列として扱います。
なので、下のようにHTMLコードを入れると、それが反映されます。

let doc = document;
let doc_ans = doc.getElementById("js-ans");
doc_ans.innerHTML = "はい";

let doc_card = doc.getElementById("js-card");
doc_card.innerHTML = `<div><p>楽天カードとEPOSカードを使っています。</p></div>`;

要素の内容(textContent)

DOMを書き換えるもう一つの方法として、Webページの要素の内容の中からテキストを参照するやり方です。テキストを参照し、新しい値を設定することでDOMを書き換えます。

<!DOCTYPE html>
<html lang="ja">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width = device-width ,initial-scale = 1" />
        <meta name="robots" content="noindex,nofollow" />
        <meta http-equiv="Content-Style-Type" content="text/css" />
        <meta http-equiv="Content-Script-Type" content="text/javascript" />
        <title>
            JavaScript入門講座
        </title>
        <script>

        </script>
    </head>
    <body>
        <h1>DOM入門</h1>
        <h2 id="js-head-2">JavaScript</h2>


        <h2>どのQR決済を使っていますか?</h2>
        <div><p id="js-qr"></p></div>
        
        <script src="script.js"></script>
    </body>
</html>
let doc_qr = doc.getElementById("js-qr");
doc_qr.textContent = "d払い・AUPay・楽天Pay・SC・PayPayを使っています。";

文字列を先ほどと同じように代入すると、DOMが書き換わります。
また、先程のinnerHTMLとの違いで、HTML要素を記述してもそれがブラウザに読み取られることがなく、無効化されます。

let doc_qr = doc.getElementById("js-qr");
doc_qr.textContent = `<p>d払い・AUPay・楽天Pay・SC・PayPayを使っています。</p>`;

上のように記述しても、文字列がそのまま出力されます。

まとめ

では、今回のまとめに入ります。
今回は下記のことを学びました。

まとめ
  • DOMを書き換える方法
  • innerHTML
  • textContent

今回はここまでとなります。
お疲れさまでした。

参考文献

タイトルとURLをコピーしました