すがブロ

sugamasaoのhatenablogだよ

「getElementById()でname属性が検索される?」でIE8だとどうなるか

getElementById()でname属性が検索される?というエントリがありました

で、IE6とIE7はしょうがないとして、IE8はどうなってるのか。というか、まともになっていて欲しいという思いに駆られて調べてみた。

Sample1

ソースとかは上記エントリと同じものを使用。OSはWinXPで。

<!DOCTYPE html PUBLIC "-//W3C/DTD XHTML 1.0 Strict//EN" "http://www.w3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3c.org/1999/xhtml">
  <head>
    <meta http-equiv="Contet-Type" content="text/html; charaset=TF-8"/>
    <title></title>
    <script type="text/javascript">
        window.onload = function(){
            alert(document.getElementById("txt1").value)
        }
    </script>
  </head>
  <body>    
    <input type="text" name="txt1" value="name"></input>
  </body>
</html>
結果

エラーだ!エラーになったよ!
getElementById("txt1")が引けてないということですね。

Web ページ エラーの詳細

ユーザー エージェント: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
タイムスタンプ: Tue, 9 Feb 2010 04:48:53 UTC


メッセージ: オブジェクトがありません。
ライン: 8
文字: 13
コード: 0
URI: sample1.html

Sample2

これは当然取れるわけですよ。

<!DOCTYPE html PUBLIC "-//W3C/DTD XHTML 1.0 Strict//EN" "http://www.w3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3c.org/1999/xhtml">
  <head>
    <meta http-equiv="Contet-Type" content="text/html; charaset=TF-8"/>
    <title></title>
    <script type="text/javascript">
        window.onload = function(){
            alert(document.getElementById("txt1").value)
        }
    </script>
  </head>
  <body>    
    <input type="text" name="txt1" value="name"></input>
    <input type="text" id="txt1" value="id"></input>
  </body>
</html>

はい、とれました。

                                                    • -

Web ページからのメッセージ

                                                    • -

id

                                                    • -

OK

                                                    • -

というわけで

IE8になってようやくみんなの仲間入りができたということが確認できましたね。