
HTMLとJavaScriptを使ってWebページを作っていますが、 id と name の使い分け方がよくわかりません。 id は各エレメントに個別に与える識別子と認識していて、getElementById() メソッドなどでよく使うのですが、それと name プロパティーはどう違うのでしょうか?
あるサンプルコードに次のようなものがありました。
<a href="http://www.google.com" name="google_link">
<img src="google.gif" id="engine-1" alt="google graphic">
</a>
というHTML部分があり、しばらく後に
function show_attribs()
{
var attribs="";
attribs += "Link name: " + window.document.getElementById("engine-1").name;
.....
alert(attribs);
}
というJavaScriptの関数があり、結果としてアラートボックスに
Link name: google_link と表示されるものです。
よくわからないのは、"engine-1" という id で取得した <img> エレメントが、 <a> エレメントに設定したはずの name プロパティー とその値を持っているということです。なんだか二つのエレメントが一体になったように扱われていますが、なぜそうなるのかわかりません。
どなたかよく説明していただけないでしょうか。お願いします。
No.1ベストアンサー
- 回答日時:
Link_nameを呼び出せば当然のことながら、親であるA要素のname属性の値が参照されます。
nameプロパティではなく、attrですからattribute(属性)です。
idは文書中に一箇所しかありえませんからjavascriptのターゲットとして使用するのが簡単です。
HTMLの属性のnameは、通常は一箇所ですがFORMの内部などでは複数存在し得ます。
<form>
<input type="radio" name="ABC" value="123">
<input type="radio" name="ABC" value="234">
<input type="radio" name="ABC" value="456">
とか・・
気をつけないとならないのは、リンクに関しては、name属性とid属性は同じ名前空間を持つことです。
BUTTON, TEXTAREA, APPLET
, SELECT, FORM, FRAME, IFRAME, IMG, A, INPUT, OBJECT, MAP, PARAM, META要素がname属性を持ちえますが、そのうちA、APPLET、FORM、FRAME、 IFRAME、IMG、MAP要素に関しては、idと同じ必要があります。それ以外(BUTTON, TEXTAREA, SELECT, INPUT, OBJECT, PARAM)は、id属性値とname属性値は異なっても良いです。nameは一意である必要は、条件がありますが)ありません。
早速詳しい回答を頂き、有難うございます。
名前空間とか、なんだか難しそうなものが出て来ましたが、まだよくわからないので自分でも研究してみようと思います。
とりあえず、id は一意の識別子で name は複数要素を持つタグの中で共通に使えるということを覚えておきたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript gasについて 1 2022/05/31 21:51
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP php テーブルが作成できない 1 2022/11/17 23:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTMLボタンの文字色を変え...
-
開くと同時に自動submit
-
ボタンのなかに表示する文字を...
-
SUBMITボタンを表示させないでS...
-
Dreamweaver4でのクローズボタン
-
HTML の BUTTON タグの VALUE ...
-
WebBrowser 内のボタンをクリッ...
-
テキストボックス内を書き込み...
-
selectで自動でsubmitボタンを...
-
INPUTのボタン周囲のスペース
-
閉じるボタンを作るには?
-
フォームのプッシュボタンって...
-
ただいま勉強始めたての初心者...
-
UWSC
-
HTMLのボタンで他サイトへ...
-
HTMLボタンのクラスを動的...
-
FORMタグ内に複数submitボタン...
-
Enterキークリック時の動作につ...
-
【htmlタグ】inputタグの書き方...
-
デフォルトのボタンの形で色を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTMLボタンの文字色を変え...
-
getParameterで値が取得できず...
-
戻ると、記入フォームの内容が...
-
submitボタンにvalue属性の値で...
-
ボタンのなかに表示する文字を...
-
ただいま勉強始めたての初心者...
-
ボタンをクリックした時に、入...
-
リンクでPOSTデータを送信する...
-
formの送信ボタンをテキストに...
-
SUBMITボタンを表示させないでS...
-
FORMタグ内に複数submitボタン...
-
グーグルマップの文字化けで困...
-
UWSC
-
formでのtarget="_blank"2回目
-
inputのtextとsubmitの高さがズ...
-
htmlでsubmit送信時、actionよ...
-
<div>部分のみの更新
-
開くと同時に自動submit
-
前の画面の情報を保持するには?
-
HTMLのKEYとVALUE...
おすすめ情報