コメントの中のタグ
重要性: 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"
です。