2012-08-04 15 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返します。

大文字のタグ名の慣例は、以前は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間の移植を容易にするため、小文字のタグを書くのが一般的です。ただし、この推奨事項は仕様にはありません。 XHTMLとXMLではなく、HTMLでのみタグ名が大文字小文字を区別しないということです。

+1

このルールに従わず、 'nodeName'の呼び出しで小文字の値を返さないメインブラウザ(またはそれらのバージョン)の既知のインスタンスは、バグの結果として、またはそうでなければ存在しますか? – RTF

関連する問題