gorogoronyan FC2

JavaScript: HTML 要素にテキストを出力する

概略

div タグや span タグなどの要素にテキストを出力して表示する方法の話です。 下のような方法があります。

  1. 要素の textContentinnerText にテキストをセットする。
  2. 要素の append() 関数 でテキストを追加する。

コントロール要素 ( textarea タグ、input タグ) では上の方法を使わないので区別してください。 textarea や input の場合は textContent ではなく value にテキストをセットします。
textarea タグ

textContent や innerText にテキストをセットする

指定した HTML 要素の textContent プロパティinnerText プロパティ に文字列をセットすると 要素に文字列が表示されます。 すでに表示している文字列がある場合は 古い文字列が削除され新しい文字列に置き換わります。

innerText では文字列に改行があると <br> タグに置き換わります。 textContent では文字列に改行があっても無視されます。

サンプル

TestJS_div_textContent01.html
ボタンを押すと div タグの文字列を書き換えるサンプル。
JavaScript: HTML の要素を取り出す

innerHTML はなるべく使わない

innerHTML にテキストや HTMLコードをセットする方法もあります。 ただし、使い方によっては セキュリティの問題が出る ので、 お試し用途以外ではあまり使わない方が良いです。 文字列のエスケープが必要になる場合があります。 タグの文字 <, > を &lt;, &gt; に置換するといった単純な話ではないので注意。

この話は document.write() でも同様です。
JavaScript: document.write()

append() で文字列を出力する (2023/10)

Element.append() 関数 で指定の HTML 要素に文字列を出力することができます。 textContent と異なる点は、textContent は要素の内の古い文字列を削除して新しい文字列に置き換えますが、 append() はすでにある文字列の末尾に追加で出力します。

サンプル

TestJS_element_append01.html
ボタンを押すと pre タグや div タグに append() で文字列を出力するサンプル。

テストプログラムの実行とソース表示の例

いろいろ

HTML 要素を自体を JavaScript で作る話もあります

あらかじめ HTML に書かれている要素を取り出して文字列をセットする話とは別に、 span, li, table などの要素自体を JavaScript で作成して HTML に追加する話もあります。

関連

inserted by FC2 system