1

如果我使用此表单,Firefox 将突出显示我的链接元素,表示错误:

<link href = ""></link>

但是,如果我这样说:

<link href = "" />

它很高兴。为什么这样?

有趣的是,如果我查看 DOM,我可以看到它表示为:

<link href = ""></link>
4

4 回答 4

2

链接元素不使用结束标签。<link href="" />没问题,因为它符合 XHTML,而且 HTML5 支持 XHTML 标记。<link href=""></link>只是浏览器的内部表示,仅与源代码有关。浏览器可以在内部做他们想做的事。

编辑。<link href="stuff">也将工作。

于 2013-08-04T18:50:18.550 回答
1

这是使用它的有效方法 - https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link#Examples

于 2013-08-04T18:51:36.493 回答
1

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 的真正理由。

于 2013-08-04T19:10:17.053 回答
0

从 W3schools 的这个页面http://www.w3schools.com/tags/tag_link.asp

注意:该元素是一个空元素,它只包含属性。

因此,它只能用作简单的标记 ( <link />)。

于 2013-08-04T18:51:24.853 回答