- ベストアンサー
【xhtml】xhtmlでは、タグは小文字で書かなきゃいけないが、JavaScriptの記述はどうすべき?
表題の通りなのですが、 xhtmlって、タグを小文字で書かなければいけないことになってますが、そこにjavascriptを記述するとき、 大文字小文字については、どのように書くべきでしょうか? なお・・・ (1)rfc的に間違ってない。 (2)UserAgentにおける互換性に問題がない の両方を、満たしたいと思います。 。。。が、無理なら、(2)のみ満たせればOKです。 以上、よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
JavaScriptで何をするときのことでしょうか。 JSでは大文字と小文字は完全に区別されるので異なっていたらエラーに なります。 因みに、XHTMLとしてはエレメント名は小文字でなければいけないと なっていますが、実際には大文字で書いても問題なかったりします。 その辺りはブラウザ側の解釈次第ですね。
その他の回答 (3)
- Werner
- ベストアンサー率53% (395/735)
> たとえば、「<a HREF="hoge.php" />」といった記述はOKなのでしょうか? xhtmlでは要素名と属性名はすべて小文字で定義されているので、 a も href も小文字です。 XHTMLの書き方と留意点 http://www.kanzaki.com/docs/html/xhtml1.html
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
MIME-Typeをapplication/xhtml+xmlにしておくと、 xhtmlをxmlモードで表示するブラウザ(たぶんFxとSafari)はnodeNameは小文字になります。 MIME-Typeがtext/htmlではHTML4に合わせて、大文字になります。 document.createElementで作成したノードは、小文字で作成しても大文字に変換されますが、 document.createElementNSで作成すると大文字、小文字が区別されます。 > (2)UserAgentにおける互換性に問題がない nodeName.toUpperCase() nodeName.toLowerCase() で判断すれば、すべて大文字、小文字でチェックできます。
- yambejp
- ベストアンサー率51% (3827/7415)
nodeNameでタグを拾うときは実際には小文字でタグをかいていても 大文字で拾われます。 <div id="hoge">hoge</div> <script> var n=document.getElementById("hoge").nodeName; if(n=="div") alert("小文字ok") if(n=="DIV") alert("大文字ok") </script> getElementsByTagName()などでは大文字・小文字とくに制限ないようです <div id="hoge">hoge</div> <script> var l1=document.getElementsByTagName("div").length; if(l1>0) alert("小文字ok") var l2=document.getElementsByTagName("DIV").length; if(l2>0) alert("大文字ok") </script>
お礼
ご回答ありがとうございます。 あらら・・・ためしたら、そうなりました。 知らなかったです。 UAのバグ(仕様?)ですね。。。 どうもありがとうございました。
お礼
ご回答ありがとうございます。 >JSでは大文字と小文字は完全に区別されるので異なっていたらエラーに なります。 そういえばそうでした・・・。 さっき、「なんちゃらかんちゃら.fontSize = "120%"」 とやるべきところを、 「なんちゃらかんちゃら.FontSize = "120%"」(fが大文字)とやって、 エラーになりまして、気づきました。 >XHTML...その辺りはブラウザ側の解釈次第ですね。 やはりそうですか・・・。 ま、一応、小文字で統一しておくことにしたいと思います。 弊害はないと思うので。 ところで、「エレメント名は小文字でなければいけない」とのことですが、本来的には、属性名などは大文字でもいいのでしょうか? たとえば、「<a HREF="hoge.php" />」といった記述はOKなのでしょうか? ご存じでしたら、お教えいただければ幸いです。 よろしくお願いいたします。 ありがとうございました。