19

例如,如果我们有

<html>
    <head>
        <title>FooBar</title>
    </head>
    <body></body>
</html>

如果我们这样做document.getElementByTagName("title").TagName,那么我们将拥有TITLE(大写)。而 html 标准建议以小写形式编写 html 标签。

我知道两者之间没有关系,但这仍然没有意义。

DOM 是否有任何理由应该以大写形式返回标签​​名称?

4

1 回答 1

27

从技术上讲,这是DOM Level 1中规定的:

tagName无论源 HTML 文档中的大小写如何,HTML DOM 都会以规范的大写形式返回HTML 元素的 。

大写标签名称的约定可能源于遗留问题,当时 HTML 是基于 SGML 开发的,元素类型以大写形式声明。请参阅讨论 SGML、HTML 及其语法的 HTML 4.01 规范的这一部分,以及例如HTML 4.01 Strict 文档类型定义。任何支持 HTML 的 DOM 实现都会效仿。

请注意,小写标签名称仅在 XHTML(但不是 XML)中明确要求,并且通常建议作者编写小写标签以便在 HTML/XHTML 之间轻松移植,并提高可读性。但是,此建议并未出现在规范中;它只是说标签名称仅在 HTML 中不区分大小写,而不是在 XHTML 和 XML 中。

于 2012-08-04T19:46:13.167 回答