大文字タグ名
-
0 名前: ikeuchi : 2007/01/16(火) 19:43 ID:ffKe.mlv
- こんにちは
えっと、よく、getElementsByTagNameなどでタグ名を指定するときに
タグ名を大文字で書いている例を見るのですが、ここの名前は大文字
小文字区別ですか? 以前小文字で入れて動かなかったことがあり、
規格を調べてみたんですが、よくわかりませんでした。
ご教示お願いします。
-
1 名前: 匿名 : 2007/01/16(火) 19:43 ID:Rt.j/.AI
- > 規格を調べてみた
それならば、見るべきはここ。
http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-5353782642
・HTML 4.01 は大文字と小文字を区別しない。だから、getElementsByTagName('A') でも getElementsByTagName('a') でも良い。より正確に言えば、小文字は全て対応する大文字に変換されて処理される。ゆえに、nodeName、tagName は必ず大文字になる。
・XHTML 1.0 は大文字と小文字を区別する。XHTML 1.0 の要素名と属性名は全て小文字で定義されているがゆえに、getElementsByTagName('a') でなければならず、nodeName、tagName は小文字になる。
だから、HTML 4.01、XHTML 1.0 の両方で動くコードを書くならば、小文字に変換しなければならない。
HTML 4.01 しか扱わないなら、大文字のまま扱うほうが楽(たとえ XHTML 1.0 でも application/xhtml+xml ではなく text/html で読ませた場合、HTML 4.01 と同じ振る舞いになる実装が多い)。
要するに、用途による。