• 締切済み

javascript getelementsbytagnameについてです。

var keisan=document.getElementsByTagName('input'); for(i=0;i<=keisan.length;i++){ if(keisan[i].getAttribute('value').match('Click')){ keisan[i].onclick=add(); } } function add() { var a = document.getElementById('number1').value; var b = document.getElementById('number2').value; var c = a - -b; alert(c); } 上のプログラムを入れると、"keisan[i]はnullです"といったエラーがでます。 kaisan.length=0になっているみたいです…。 xhtmlだと作動するのですが、htmlだと作動しません。 対応してないのでしょうか? 宜しくお願いいたします。

みんなの回答

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

対応自体はしている筈だよ。 もう少し手がかりを得る為に一体、どのOSの何てブラウザでやってるにか、動いたというxhtmlのDOCTYPEと動かないというhtmlのDOCTYPEがどうなってるのか知りたいかな。 htmlのDOCTYPEなのに <input /> という書き方しているから弾かれるとか そういうオチじゃないよね?