- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:getElementsByNameで要素が取得できない)
getElementsByNameで要素が取得できない
このQ&Aのポイント
- 久々にJavaScriptを組みました。ボタンクリック時にalertで「1」が表示されるはずだと思っているのですが、「0」が返ってきます。何かおかしなところはありますでしょうか?
- JavaScriptでgetElementsByNameを使って要素を取得する際に、「0」が返されてしまう問題が発生しています。何かおかしな点はありますでしょうか?
- ボタンクリック時にalertで「1」が表示されるはずのJavaScriptコードで、「0」が返ってきます。問題の原因は何でしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
非常に珍しいIEの正しい挙動だと思う。 (Minefield,Opera,Safariは1を返す) ずーっとあるもんだと思ってたが, 【div要素はname属性を持たない!】 http://www.w3.org/TR/REC-html40/index/attributes.html BUTTON, TEXTAREA,APPLET,SELECT,FORM,FRAME,IFRAME,IMG,A,INPUT,OBJECT,MAP,PARAM,META しか持たない。 もしname属性がdiv要素ではなくinput要素に付いていたら, IEは1を返しました。 #つーことで,id属性を使いましょう。getElementsByIdを使えばおそらく似たようなことは出来るはずなので
お礼
himajin100000様、ご回答いただき有難うございます。 えー、ちょっとびっくりしております。なるほどなぁ・・・。 たまたまなんでしょうけど、今まで、Inputタグぐらいでしか getElementsByNameを使ったことがなく、DIVやSPANではgetElementByIdばかり使っていました。それで今更ながらに気がついたようです。 ホント、珍しい現象ですね。でも、正しい動作か・・・。 どうもありがとうございました。