コメントの中のタグ
重要性: 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>
順番に何が起こっているのでしょう:
<body>の内容はコメントに置き換えられます。body.tagName == "BODY"なので、コメントは<!–BODY–>です。覚えているように、tagNameは HTML では常に大文字です。- コメントは今唯一の子ノードなので、
body.firstChildでそれを取得します。 - コメントの
dataプロパティはその内容(<!--...-->の中):"BODY"です。