IEの変な動き

まぁIEが変な動きをするのは周知の事実ですが、今日も変な動きを見つけました。
この動きはie6でもie7でも再現したのを確認しております。


まず、こんなhtmlがあったとします。

  <form name="sampleForm">
    <input type="text" name="aaa">
    <input type="text" name="bbb">
  </form>


次にこれを処理する以下のようなjavascriptがあったとします。

  alert(document.sampleForm.elements('aaa'));
  alert(document.sampleForm.elements('bbb'));
  alert(document.sampleForm.elements('name'));

最初の2つはhtml要素オブジェクトが取得できるけど、最後のは存在しないのでundefinedが返るっていう動きを期待しますよね、ふつー。
けどIEは何を思ったかsampleFormっていうform自体のname属性の値を返してきます。なんでやねん!
よって、変に処理が続行されてしまってちょっとはまってしまいました。。


もちろんfirefoxだとundefinedってなります。