例如,如果我们有
<html>
<head>
<title>FooBar</title>
</head>
<body></body>
</html>
如果我们使用document.getElementByTagName("title").TagName
,那么我们将使用TITLE
(大写)。而html标准建议以小写字母书写html标签。
我知道两者之间没有关系,但这仍然没有意义。
有什么理由让DOM返回大写的标记名吗?
发布于 2012-08-05 03:46:13
从技术上讲,这是在DOM Level 1中强制执行的
HTML以规范的大写形式返回
元素的
tagName
,而与源HTML文档中的大小写无关。
大写标记名称的约定可能源于遗留问题,当时HTML是基于SGML开发的,元素类型是以大写形式声明的。请参阅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中。
https://stackoverflow.com/questions/11811426
复制相似问题