5

可能重复:
在普通标签上使用 XHTML 右斜杠 (/)?
自闭标签在 HTML5 中有效吗?

我正在审查很多 HTML 代码以及合成 HTML 的 JavaScript,我注意到如果标签内有一些没有内容的标签,那么有两种方法可以指定它。要么像这样:

<div id="container"></div>

或像这样:

<div id="container" />

两者有什么区别吗?

4

3 回答 3

6

浏览器将无效标记标准化为有效形式:

<div />是技术上无效的标记 (HTML 5),因为div它不是自闭合标记。

浏览器会将其规范化为<div>.

请注意,这与XML处理自闭合标记与闭合标记的方式不同。

自闭合标签没有子标签,也没有内部文本的值(null):

<foo />

封闭标签没有子标签,也没有内部文本(空字符串):

<foo></foo>
于 2012-05-23T19:06:11.763 回答
-1

<div id="container"/>是编写不包含内容的标签的正确 XHTML 方式。通常这些是<img/><br/>等。 <div>旨在在其中包含内容,这样说<div id="container"/>虽然可以接受,但似乎可读性较差。

于 2012-05-23T19:02:15.483 回答
-2

第一个示例是严格的 HTML,而第二个示例是严格的 xHTML。

在 HTML5 之前,当您必须指定使用的是 HTML 还是 xHTML 时,使用错误的语法会导致验证错误,有时还会出现渲染问题。使用 HTML5 doctype 会有所不同。

其次,第二个示例是自闭合标签之一,在本例中为空div,但 xHTML 规范中的许多标签都支持该标签,包括imglinkmeta以及其他任何可能为空的标签。

于 2012-05-23T19:00:26.230 回答