web-dev-qa-db-ja.com

HTMLスクリプトタグを閉じる

<script>タグを次のように記述した場合、JavaScriptを実行できない(FirefoxとIEでテスト済み)理由が気になります。

<script type="text/javascript" src="script.js"/>

その行を次のように変更すると機能します。

<script type="text/javascript" src="script.js"></script>

したがって、私の質問は、開始タグ内にコンテンツがないために、開始タグのscriptタグを閉じることができない理由です。

私のJavaScriptコードは単純です。

alert("test");

注:Firefoxエラーコンソールを確認しましたが、エラーはありません。

27
Iswanto San

自己終了タグの概念はXMLの概念です。 HTMLでは使用できません。 (XHTMLで使用できますが、ドキュメントがXMLコンテンツタイプで提供される場合に限り、いいえ text/html として提供される場合はt)。

HTMLでは、一部の要素(<img>など)にコンテンツを含めることができないため、終了タグがありません。

スクリプトはsrc属性を持つことができるか、スクリプトは要素内にあることができるため、<script>はそれらの1つではありません。

(HTML 5では、EMPTYとして定義されている要素の開始タグの最後に/文字を表示できますが、XMLに夢中になっている人にとっては単なる砂糖であり、言語では意味がありません)。

13
Quentin