【问题标题】:Why does "script" require closing tag but "meta" does not?为什么“脚本”需要结束标签而“元”不需要?
【发布时间】:2012-08-15 14:40:23
【问题描述】:

我正在编写一个 HTML 页面,并注意到 HTML 标题标签并不完全一致。其中一些需要结束标签,而另一些则不需要。

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

【问题讨论】:

标签: html web-applications


【解决方案1】:

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

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

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

<script>
  Javascript goes here
</script>

所以有时候,script 需要有内容。但是meta标签,另一方面,只需要提供关于当前页面的少量信息,所以一个空标签就足够了。

【讨论】:

  • 即将发布相同的答案。从技术上讲,一些浏览器仍然可以使用自闭合脚本标签,但使用它们是不好的做法。
【解决方案2】:

我认为这只是与当前系统所基于的系统有关的任意原因......

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-14
    • 2018-03-18
    • 1970-01-01
    • 2018-01-23
    • 2018-07-30
    • 2011-06-18
    • 2021-04-13
    • 1970-01-01
    相关资源
    最近更新 更多