为什么“脚本”需要关闭标签但“meta”不需要?

时间:2012-08-15 14:40:23

标签: html web-applications

我正在编写一个HTML页面,并注意到HTML标头标签并不完全一致。其中一些需要关闭标签,一些则不需要。

例如,script标记确实需要结束标记,但meta不需要。现在我想知道为什么

2 个答案:

答案 0 :(得分:9)

script标记不是空(非关闭)标记,因为它有时包含内容(Javascript代码),但meta标记从不这样做。
将Javascript放入网页有两种方法。第一种方法是包含一个外部文件:

<script src="path/to/my/script.js"></script>

第二种方法是将Javascript放在HTML文件中,如下所示:

<script>
  Javascript goes here
</script>

有时,script需要有内容。但另一方面,meta标记只需提供有关当前页面的少量信息,因此空标记就足够了。

答案 1 :(得分:2)

我认为与当前系统建立的系统有关的任意原因......

“如果有人好奇,最终的原因是HTML最初是SGML的方言,这是XML的奇怪的哥哥。在SGML-land中,标签可以在DTD中指定为自动关闭(例如BR, HR,INPUT),隐式可关闭(例如P,LI,TD),或明确可关闭(例如TABLE,DIV,SCRIPT)。当然,XML没有这个概念。“

来自:https://stackoverflow.com/a/3327807/773263