为什么JavaScript中的tagName方法以大写字母返回HTML标记?

Paw*_*yla 5 javascript tagname

为什么JavaScript中的tagName方法以大写字母返回HTML标记?HTML标签应该用小写字母书写.

T.J*_*der 5

因为这就是定义的方式tagName

\n
\n

tagName 属性\xe2\x80\x99s getter 必须返回上下文对象\xe2\x80\x99s HTML 大写限定名称

\n
\n

HTML 标签名称(和属性名称)不区分大小写,但标签名称的规范版本全部大写,无论创建元素的 HTML 是如何编写的:

\n

\r\n
\r\n
document.querySelectorAll("div").forEach(function(div) {\n  console.log(div.tagName);\n});
Run Code Online (Sandbox Code Playgroud)\r\n
<div></div>\n<DIV></DIV>\n<Div></Div>
Run Code Online (Sandbox Code Playgroud)\r\n
\r\n
\r\n

\n

这非常方便,因为这意味着tagName如果需要知道标签是否与特定标签名称匹配,则查看的代码不必担心进行不区分大小写的比较。那是,if (element.tagName === "DIV")在 HTML 页面中是可靠的。

\n


Rar*_*ack 5

JavaScript首次创建时,旧版本的HTML按照惯例使用全部大写的标签名称,而不是今天的小写字母。为了保持与旧代码的向后兼容,仍然返回所有大写字母,并且一直处于这种状态。tagName()