可能重复:
Using the XHTML closing slash (/) on normal tags?
Are self-closing tags valid in HTML5?
我正在审查很多HTML代码以及合成HTML的JavaScript,我注意到如果标签内部有一些没有内容的标签,那么有两种方法可以指定它。要么是这样的:
<div id="container"></div>
或者像这样:
<div id="container" />
两者之间有什么区别吗?
答案 0 :(得分:4)
浏览器将无效标记规范化为有效格式:
<div />
在技术上是无效的标记(HTML 5),因为div
不是自动关闭标记。
浏览器会将其标准化为<div>
。
请注意,这与 XML 处理自动关闭代码与封闭代码相比的方式不同。
自闭标签没有子项,内部文本没有值(null):
<foo />
封闭的标签没有子节点,也没有内部文本(空字符串):
<foo></foo>
答案 1 :(得分:-1)
<div id="container"/>
是编写不包含任何内容的标记的正确XHTML方式。通常这些是<img/>
,<br/>
等。 <div>
旨在将内容放入其中,因此<div id="container"/>
虽然可以接受,但可读性较差。
答案 2 :(得分:-2)
第一个例子是严格的HTML,第二个例子是严格的xHTML。
在HTML5之前,当您必须指定是否使用HTML或xHTML时,使用错误的语法会导致验证错误,有时会出现问题。使用HTML5 doctype使得差异无可争议。
其次,第二个示例是自闭项标记之一,在本例中为空div
,但xHTML规范中的许多标记都支持该标记,包括img
,link
,meta
,以及其他任何空的标记。