html - getelementbytagname - tag name jquery
¿Por qué la propiedad DOM.tagName devuelve un valor en mayúscula? (1)
Técnicamente, esto es obligatorio en el nivel 1 de DOM :
El DOM HTML devuelve el nombre de etiqueta de un elemento HTML en forma mayúscula canónica, independientemente del caso en el documento HTML de origen.
La convención de los nombres de las etiquetas en mayúsculas probablemente se derive de un legado, cuando HTML se desarrolló previamente sobre la base de SGML, y los tipos de elementos se declararon en mayúsculas. Consulte esta sección de la especificación HTML 4.01 que trata sobre SGML, HTML y su sintaxis , así como, por ejemplo, la definición de tipo de documento HTML 4.01 Strict . Cualquier implementación DOM compatible con HTML seguiría su ejemplo.
Tenga en cuenta que los nombres de etiquetas en minúsculas solo se requieren explícitamente en XHTML (pero no en XML), y generalmente se recomienda a los autores que escriban etiquetas en minúsculas para facilitar la transferencia entre HTML / XHTML, así como para mejorar la legibilidad. Sin embargo, esta recomendación no ocurre en la especificación; todo lo que dice es que los nombres de las etiquetas distinguen entre mayúsculas y minúsculas solo en HTML en lugar de XHTML y XML.
Por ejemplo, si tenemos
<html>
<head>
<title>FooBar</title>
</head>
<body></body>
</html>
Si hacemos document.getElementByTagName("title").TagName
, entonces tendremos TITLE
(en mayúsculas). Mientras que los estándares html recomiendan escribir etiquetas html en minúsculas.
Sé que no hay una relación entre ambos, pero esto todavía no tiene sentido.
¿Hay alguna razón por la que DOM deba devolver los nombres de las etiquetas en mayúsculas?