2012-08-04 6 views
18

, 우리가.tagName DOM 속성이 대문자 값을 반환하는 이유는 무엇입니까? 우리가 <code>document.getElementByTagName("title").TagName</code>을 할 경우 예를 들어

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

이있는 경우, 우리는 TITLE (대문자)를해야합니다. html 표준에서 소문자로 html 태그를 작성하는 것이 좋습니다.

나는 둘 사이에 관계가 없다는 것을 알고 있지만, 여전히 의미가 없습니다.

DOM이 대문자로 태그 이름을 반환해야하는 이유가 있습니까?

+1

소문자를 권장하는 HTML 표준을 인용 할 수 있습니까? –

+0

오우 저는 방금 "xhtml"이 태그가 소문자 인 표준을 요구한다는 것을 깨달았습니다. –

답변

27

기술적으로는, 이것은 DOM Level 1에 위임되어

HTML DOM에 관계없이 소스 HTML 문서의 경우의, 정규의 대문자 형태의 HTML 요소의 tagName 반환합니다.

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 간의 이식이 용이하고 가독성을 높이기 위해 소문자 태그를 쓰는 것이 좋습니다. 그러나이 권장 사항은 사양에서 발생하지 않습니다. 태그 이름은 XHTML 및 XML과는 달리 HTML에서만 대소 문자를 구분합니다.

+1

버그 또는 다른 이유로 인해이 규칙을 따르지 않고'nodeName' 호출시 소문자 값을 반환하는 기본 브라우저 (또는 그 버전)의 인스턴스가 있습니까? – RTF