在HTML5中,即使内容为空,也有标签必须有开始和结束标记:
<script></script> <!-- Right way. -->
<div></div> <!-- Right way. -->
<content></content> <!-- Right way. -->
<script/> <!-- Wrong way. -->
<div/> <!-- Wrong way. -->
<content/> <!-- Wrong way. -->
在XML中,这种差异并不存在:
<node/>
和<node></node>
是同一个实体。
为什么像script
,div
和content
这样的标记不能简单地定义为:
<script/>
,<div/>
和<content/>
?
答案 0 :(得分:4)
自闭标记是带斜杠的特殊形式的开始标记 在关闭直角支架前。这些表明 该元素将立即关闭,并且没有内容。 在允许和使用此语法的情况下,必须省略结束标记。 在HTML中,此语法的使用仅限于void元素和 外国元素。如果它用于其他元素,则将其视为a 开始标记。在XHTML中,任何元素都可以使用它 句法。但请注意,它只符合包含内容的元素 允许它们为空的模型。
您列出的示例通常包含内容,JavaScript或其他元素,因此使用正确的开始和结束标记可以界定这些元素/标记的范围。
答案 1 :(得分:2)
仅仅因为它们基本上是一些&#34;容器&#34;其他元素。
有些元素没有被用作其他元素的父元素,比如img或base,这个元素可以在没有带有尾随/&gt;的结束标记的情况下关闭,但是没有必要。 / p>
答案 2 :(得分:1)
这些(空白元素)可能会以/>
area, base, br, col, embed, hr, img, input, keygen, link, menuitem, meta, param, source, track, wbr
然而它是可选的和不相关的:
此角色对空白元素没有影响
MathML / SVG标记可能会以/>
结尾,以表示自我结束标记。
答案 3 :(得分:0)
在HTML5规范中,某些标签被声明为&#34;自我关闭&#34;,而某些标签则没有。
script
标记是特殊的。当浏览器请求javascript文件(在标记的src
属性中给出)时,它将复制script
标记中的javascript文件内容。如果你自己关闭标签,浏览器就无法复制标签中的任何内容,因此javascript将不会被执行。
几年以来,HTML(尤其是HTML5)试图摆脱XML&#34; border&#34;。这就是为什么我们有属性布尔值(如disabled
或checked
)。
答案 4 :(得分:-1)
<script></script> <!-- Right way. -->
<div></div> <!-- Right way. -->
<content></content> <!-- Right way. -->
在所有这三种情况中,都有无限量的内容可以驻留在标记内。
有类似的东西:
<input type="text" velue="Hello" />
<img src="image.jpg" />
没有更多内容可以添加到这些内容中。因此,您只需在生成标记的同一点关闭标记即可。
所以,这不是“对错”的问题。这是标签实际用于什么的问题。