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

时间:2012-08-04 19:31:03

标签: html dom standards tagname

例如,如果我们有

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

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

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

DOM是否应该以大写字母返回标记名称?

1 个答案:

答案 0 :(得分:27)

从技术上讲,这是DOM Level 1

的强制要求
  

HTML DOM以规范的大写形式返回HTML元素的tagName,与源HTML文档中的大小写无关。

大写标记名称的约定可能源于遗留,当之前基于SGML开发HTML时,元素类型以大写形式声明。请参阅this section of the HTML 4.01 spec discussing SGML, HTML and its syntax,以及the HTML 4.01 Strict doctype definition。任何支持HTML的DOM实现都会效仿。

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