如果我使用此表单,Firefox 将突出显示我的链接元素,表示错误:
<link href = ""></link>
但是,如果我这样说:
<link href = "" />
它很高兴。为什么这样?
有趣的是,如果我查看 DOM,我可以看到它表示为:
<link href = ""></link>
链接元素不使用结束标签。<link href="" />
没问题,因为它符合 XHTML,而且 HTML5 支持 XHTML 标记。<link href=""></link>
只是浏览器的内部表示,仅与源代码有关。浏览器可以在内部做他们想做的事。
编辑。<link href="stuff">
也将工作。
Firefox 会标记结束标记</link>
,因为它在 HTML 4.01 和更早版本中是语法错误,并且在 XHTML 1.0 中不推荐(尽管有效),请参阅XHTML 1.0 规范中的C.2项。该符号<link href = "" />
符合 XHTML 1.0,并且已知旧的浏览器也可以处理它(它们只是忽略/
,因为它们使用 ad-hoc tag-soup 解析器而不是 SGML 解析器)。
DOM 检查员做什么取决于他们。在真实的 DOM 中,一个link
元素是一个元素节点,检查器可以用不同的符号对其进行线性化。
您应该使用什么取决于您使用的 HTML 版本以及您提供它的方式。如果您使用真正的 XHTML(即 XHTML 以 XML 媒体类型提供服务),那么<link href = "" />
和<link href ="" ></link>
一样好,而<link href = "" >
没有结束标记(这是 HTML 4.01 的正确表示法)是致命错误(格式正确错误,这意味着不显示文档)。
如果您感到困惑,请坚持使用经典<link href = "" >
,直到找到使用 XHTML 的真正理由。
从 W3schools 的这个页面http://www.w3schools.com/tags/tag_link.asp:
注意:该元素是一个空元素,它只包含属性。
因此,它只能用作简单的标记 ( <link />
)。