首先,我知道我必须拥有</script>
标记,并且存在相关问题。问题不在于我是否需要结束标签。我的问题是:为什么是这样设计的?
我的混淆来源于查看<link />
元素 - 它似乎具有类似的功能(导入外部文本文件并定义其类型)但具有自我关闭属性(我们在其他人看到)但不是所有元素类型)。我可能过于简单化了,但我不明白为什么一个外部引用元素应该使用与另一个类似(显然不相同)的外部引用元素不同的样式。
看起来这在HTML5草案中也没有改变。我只是想理解它背后的原因,这样我就可以更好/更深入地理解基本HTML以及它为什么会这样运作。
答案 0 :(得分:7)
为什么这样设计?
它必须具有显式结束标记,因为您可以使用内联脚本:
<script>
foo();
</script>
拥有禁止结束标记不起作用(从那时起你就没有内容)。有一个可选的结束标记会比较值得更麻烦(因为该元素包含CDATA ......实际上可能使得无法使用可选的结束标记,我不知道SGML的那一点就足够了)。
它不使用<link>
,因为它是浏览器之战的产物,而不是在引入之前在W3C中讨论的内容。
看起来这在HTML5草案中也没有改变。
它不会向后兼容。