为什么.tagName DOM属性返回大写值?

Tam*_*ash 19 html standards dom tagname

例如,如果我们有

<html>
    <head>
        <title>FooBar</title>
    </head>
    <body></body>
</html>
Run Code Online (Sandbox Code Playgroud)

如果我们这样做document.getElementByTagName("title").TagName,那么我们将TITLE(大写).虽然html标准建议用小写编写html标签.

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

DOM是否应该以大写形式返回标记名称?

Bol*_*ock 27

从技术上讲,这是DOM级别1中的强制要求:

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

当HTML以前是基于SGML开发的,并且元素类型以大写形式声明时,大写标记名称的约定可能源于遗留.请参阅讨论SGML,HTML及其语法的HTML 4.01规范的此部分,以及HTML 4.01 Strict doctype定义.任何支持HTML的DOM实现都会效仿.

请注意,小写标记名称仅在XHTML中显式需要(但不是XML),并且通常建议作者编写小写标记以便在HTML/XHTML之间移植,以及提高可读性.但是,这个建议不会出现在规范中; 它说的是标签名称仅在HTML中不区分大小写,而不是XHTML和XML.