レッスンに戻る

コメントの中のタグ

重要性: 3

このコードは何を表示するでしょう?

<script>
  let body = document.body;

  body.innerHTML = "<!--" + body.tagName + "-->";

  alert( body.firstChild.data ); // これは何?
</script>

解答: BODY.

<script>
  let body = document.body;

  body.innerHTML = "<!--" + body.tagName + "-->";

  alert( body.firstChild.data ); // BODY
</script>

順番に何が起こっているのでしょう:

  1. <body> の内容はコメントに置き換えられます。body.tagName == "BODY" なので、コメントは <!–BODY–> です。覚えているように、tagName は HTML では常に大文字です。
  2. コメントは今唯一の子ノードなので、body.firstChild でそれを取得します。
  3. コメントの data プロパティはその内容(<!--...--> の中): "BODY" です。