
久々にJavaScriptを組みました。
以下のソースコードなんですが、ボタンクリック時にalertで「1」
が表示されるはずだと思っているのですが、「0」が返ってきます。
何かおかしなところはありますでしょうか?宜しくお願いします。
<html>
<head>
<script language="javascript">
function test(){
var obj = document.getElementsByName("name1");
alert(obj.length);
}
</script>
</head>
<body>
<div name="name1"></div>
<button onclick="test();">TEST</button>
</body>
</html>
No.1ベストアンサー
- 回答日時:
非常に珍しいIEの正しい挙動だと思う。
(Minefield,Opera,Safariは1を返す)
ずーっとあるもんだと思ってたが,
【div要素はname属性を持たない!】
http://www.w3.org/TR/REC-html40/index/attributes …
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ばかり使っていました。それで今更ながらに気がついたようです。
ホント、珍しい現象ですね。でも、正しい動作か・・・。
どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
乱数を一定時間毎に表示させた...
-
JavaScriptでiframeの内容を「...
-
初心者javascript ウィンドウサ...
-
<a href="#" …>の意味を教えて...
-
親ウィンドウ→子ウィンドウ
-
リンク先のURLを記述せずに、Ja...
-
HTMLアプリでインラインフレー...
-
新しいウィンドゥを最大化で立...
-
ユーザーが更新ボタンを押さな...
-
HTMLソースからURLだけを抜き出...
-
bodyにidをつける理由は何ですか?
-
マスターページでのJavaScriopt...
-
JavaScript <a>タグで開いた画...
-
Jquery.PHPファイルのechoが表...
-
ポップアップメニューをテキストで
-
ジャバスクリプトが無効になっ...
-
javaとフレーム
-
テキストボックス内にハイパー...
-
同一HTML内に複数のjQueryを作...
-
サブウインドウのサイズ等の情...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
function の return 値を表示し...
-
JavaScriptでiframeの内容を「...
-
SCRIPT5007: 未定義または NULL...
-
getElementsByNameで要素が取得...
-
キーを押している間の時間を計...
-
複雑な再帰(?)に関して
-
乱数を一定時間毎に表示させた...
-
JavaScriptでのEnterキーとAlt+...
-
javascriptでtextareaの文字列...
-
フォーカス移動抑止について
-
iframe内に表示するページを5分...
-
イメージ(画像)の上に重ねたテ...
-
ウィンドウのタイトルを変えたい
-
onmouseoverのクラス指定
-
クリックすると別の文章を表示する
-
JavaScriptについての質問です。
-
出荷予定日を表示するJavaスク...
-
bodyタグのfocus
-
JavaScript でキーを送る
-
マウスクリックした地点のテキ...
おすすめ情報