我正在编写一个HTML页面,并注意到HTML标头标记不完全一致。其中一些需要结束标签,有些则不需要。为什么“脚本”需要结束标签,但“元”不?
例如,script
标签确实需要结束标签,但meta
不需要。现在我不知道为什么?
我正在编写一个HTML页面,并注意到HTML标头标记不完全一致。其中一些需要结束标签,有些则不需要。为什么“脚本”需要结束标签,但“元”不?
例如,script
标签确实需要结束标签,但meta
不需要。现在我不知道为什么?
我相信这是具有与当前系统是建立在制做的只是一个任意的理由...
“如果任何人的好奇,最终的原因是,HTML原本是SGML的方言,这是XML的古怪的哥哥在SGML-land中,可以在DTD中将标签指定为自闭(例如BR,HR,INPUT),隐式可关闭(例如P,LI,TD)或明确可关闭(例如, TABLE,DIV,SCRIPT)。XML当然没有这个概念。“
script
标记不是空的(非封闭)标记,因为它有时包含内容(Javascript代码),但meta
标记从来不会。
有两种方法可以将Javascript放入网页中。第一种方式是包括外部文件:
<script src="path/to/my/script.js"></script>
第二种方式是把JavaScript的权利HTML文件中,就像这样:
<script>
Javascript goes here
</script>
所以有时候,script
需要有内容。但另一方面,meta
标签只需提供有关当前页面的少量信息,因此一个空标签就足够了。
即将发布相同回答。从技术上讲,某些浏览器仍然可以使用自动关闭脚本标记,但使用它们是不好的做法。 – KingCronus 2012-08-15 14:43:11
http://stackoverflow.com/a/206409/362536 – Brad 2012-08-15 14:42:27
见这里:[http://stackoverflow.com/questions/69913/why-dont-self-closing-script标签都有效工作] [1] [1]:http://stackoverflow.com/questions/69913/why-dont-self-closing-script-tags-work – Oriol 2012-08-15 14:42:31
上述链接都指自动关闭标签语法(一种XML概念),而不是解释为什么脚本没有定义为EMPTY(因此需要明确关闭)。 – Quentin 2012-08-15 14:45:29