• ベストアンサー

<div id="id名">

<div id="id名"> は、一つのページ内で1回しか使えないんでしたっけ? 理由も教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • Kaneyan-R
  • ベストアンサー率42% (1277/2972)
回答No.3

IDは固有識別子ですので、同じIDを複数設定する事は出来ません。 現実世界に置き換えて見ましょう。 質問者さんが仮に何かのWebサービスで、「ABCD」と言うIDを持っているとします。 ところが質問者さん以外の誰かが、全く同じ「ABCD」と言うIDを持っていたらどうなるでしょう。 質問者さんと第三者の誰かは同じIDですから、サービス上は「同じ人」になります。 これでは問題がでてしまいますよね? 「id」と同じ様な使い方がされるものに「name」と「class」がありますが、この2つは複数あっても構いません。 「name」は文字通りその要素に「名前」をつけたもの、「class」はその要素を「性質」で分けたものだと思って下さい。 現実世界で言えば、「鈴木」と言う名前の人は世の中に沢山いますし、「○○商事で働いている鈴木さん」も複数いるでしょう。ですが、「○○商事の社員番号△△番の鈴木さん」は一人ですね。 ざっくり言えばこんな感じです。

MSSTWEZMHHVOM
質問者

お礼

回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.4

何個でも使えますよ。ただし、当たり前ですがID名が重複してはいけません。

MSSTWEZMHHVOM
質問者

お礼

回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
noname#206842
noname#206842
回答No.2

<div id="myName">MyName</div>などと、記述した場合、 次に、ID=MyNameを指定すると、文法的にはおかしくなります。 IDは、個人・個別・特定ものを、表すため、汎用性がないということです。 汎用性を求めるのであれば、classを、使用しましょう。 <div class="Myname"> <p>名無しの権兵衛</p> </div> 一般的に、idを使うのは、 <div id="header"></div> <div id="nav"></div> <div di="side_menu"></div> <div id="content"></div> <div id="futter"></div> というように、ページのLyout 用と考えた方が、賢明です。

MSSTWEZMHHVOM
質問者

お礼

回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

IDですので、1HTML中に1つ使うことが正しいです。 詳しくは http://allabout.co.jp/gm/gc/23897/2/ 等のページでも確認できます。

MSSTWEZMHHVOM
質問者

お礼

回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • html内に <div id"test">があり、このtestというi

    html内に <div id"test">があり、このtestというid名をjavascriptで変更するにはどうすればいいのでしょうか?このhtml内には普通一度しか使用しないid名が何度が記述され、そのid名をたとえばtest0やtest1のように変更するjavascriptを作りたいのですが、 <div id"test"><p>あ</P></div> <div id"test"><p>い</P></div> <div id"test"><p>う</P></div>を <div id"test0"><p>あ</P></div> <div id"test1"><p>い</P></div> <div id"test2"><p>う</P></div>のように document.getElementsByTagName("div")[0].id;でタグ名は取得できるのかもしれませんが、<div id"test">の前後にはいくつか<div id"test">以外のdiv id が存在するとお考え下さい。 どなたか、詳しくわかる方お教えください。

  • JavascriptでDIV~DIVをリロードで

    はじめまして質問いたします。 JavaScriptにて<div id="test">~</div>の間をリロード毎に変更させたいのです。 <div id="test"> <h2>リーロード毎に変更</h2> <div id="contents"> <img src="../images/test.jpg"> <p>テスト要素です</p> </div> </div> 上記の<div id="test">~</div>の中身をページを開いたり、リロードする度に変更させたいのですが、 Javascriptを使用して自動でできるようにしたいのですが、どうかご教授ください。 よろしくお願いします。

  • CSSのクラス名・ID名の指定でワイルドカードか正規表現を使いたい

    CSSでクラス名やID名を指定する場合に、 ワイルドカードか正規表現を使いたいと思ったのですが、うまくできません。 使えないのでしょうか? また、他に、似たクラス名・ID名を一括で指定する方法はありますか? 例) <div id="cat1">猫が1匹</div> <div id="cat2">猫が2匹</div> <div id="cat3">猫が3匹</div> #cat1, #cat2, #cat3{color:#FF00FF;} を #cat*{color:#FF00FF;} のようにまとめて指定したい。

    • ベストアンサー
    • HTML
  • divについて。

    <html lang="ja"> <head>省略</head> <body> <div id="header">headerの内容</div> <div id="main"> <div id="left">左側の内容</div> <div id="right">右側の内容</div> <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> </div> <div id="footer">footerの内容</div> </body> </html> といった感じのトップページをCSS+htmlで作りました。見てわかる通り、<br>が無駄にたくさんあります。 でもこの無駄<br>がないと<div id="left">の内容を無視して、<div id="main">の縦の長さが0みたいに表示されてしまいます。 だから<div id="main">の縦の大きさを数値で指定すると上手くいくのですが、可変するようにしたいのでautoにして、結果無駄<br>をたくさん記述するはめになっています。 以前こちらで<div>の入れ子が上手くいかない時に clear: bothを入れると良いと聞いて入れ子構造は出来たのですが、今度は無駄<br>がないと入れ子にした際に(縦をautoにした場合)外側のdivが表示されないという状況です。 わかりづらい説明で申し訳ないのですが、何かが間違ってるせいだと思うのでわかる方宜しくお願いします。

    • ベストアンサー
    • CSS
  • <DIV id=""></DIV>勘でいれたら・・・

    はじめまして。JavaScript初めてです。 わからないことがあるので、教えてください。 画面を左右にフレームで分割して、左フレームのリストボックスから要素を選択すると、その要素に該当した表が右フレームに表示される、というものを作成しました。 左フレーム:name = index 右フレーム:name = main こんな感じ(左フレーム)↓ <HTML> <HEAD> <SCRIPT language="JavaScript"> <!-- function disp(obj){ 右フレームの表のHTML作成をしている parent.main.document.open(); parent.main.document.write (desc.innerHtml = 上で作成したHTML); parent.main.document.close(); } --> </SCRIPT> </HEAD> <BODY onload="disp(form)"> ※<DIV id="desc"></DIV> <FORM name="form"> <SELECT name="MListBox" onchange="disp(form)"> <xsl: apply-templates select="~"/> </SELECT> </FORM> *<DIV id="desc"></DIV> </BODY> </HTML>   ・   ・ <xsl文章>   ・ 初めは、※←のところがなく、右と左のフレーム両方に表が出力されてしまっていました。でも※←のところに<DIV id="desc"></DIV>を勘で入れたとたん、右フレームだけに表が出力されるようになりました。(期待の結果) 自分の予想では、*←のところのみで期待の結果が得られる予定で、(disp()でHTMLの出力を右フレームに指定しているから)何故※のところを追加したことで期待通りの動きをしたのかが謎です。 わかりづらい説明で申し訳ないですが、教えてくださる方がいらっしゃいましたら、どうぞお願いします。

  • <div id="header">

    ソース内に <div id="header">でくくれば、 グーグルのロボットは、その範囲ナンがヘッダーだと認識するという事ですか?

    • ベストアンサー
    • HTML
  • HTML要素のid/class名の長さについて

    HTML要素のid/class名の長さについて HTML要素のid/class名についてですが、この名前の長さは何文字まで指定できるのでしょうか? 特に制限はなく、ブラウザなどの実装に依存するのでしょうか? <div id="so-loooooooooong-id-name"></div>

    • ベストアンサー
    • HTML
  • IDごとに個別のDIVを表示させる方法

    http://www.skyrocketlabs.com/articles/jdiv-a-jquery-navigation-menu-alternative.php こちらのチュートリアルにあるドロップダウン式のナビを勉強のために作っております。 デモ版は1つの行でつくられているのですが、こちらのチュートリアルを応用し、同じようなナビを何行も続けて縦に重ねていく形を作りたいのです。 この場合、提供されているサンプルをどのようにいじればよいでしょうか? デモ内では <li><a href="#" id="menu1">Rollover me!</a></li> ここにマウスを載せると <div id="hidden-div"> が表示される形になっていると思うのですが、 例えばこれを、 <li><a href="#" id="menu1">Rollover me!</a></li> .....<div id="hidden-div1"> <li><a href="#" id="menu2">Rollover me!</a></li> .....<div id="hidden-div2"> <li><a href="#" id="menu3">Rollover me!</a></li> .....<div id="hidden-div3"> menu(数字)ごとに、その下の個別の<div id="hidden-div(数字)">を出したいのです。 未だ知識が浅いため、いろいろいじくってはいるのですが、どうにも解決できません。 どなたかご教授お願いします。

  • HTMLのidについて

    タグは独学なので基本的な質問ですが宜しくお願いします。 例えば、<div id="○○">~</div>の使い方ですが、「id」は同一ページ上に1回だけ使えるというルールは理解していますが、同じサイトでも異なるページであれば同じ「id="○○"」と書いて、「css」で指定する事は文法上、あるいは構造指定という観点からでも間違いではないのでしょうか。 要は「class」で指定しておけば問題ないのですけれども。 基本的すぎる質問ですが、回答宜しくお願いいたします。

    • ベストアンサー
    • HTML
  • divを追加すると下に隠れてしまう

    <div id="a"> <div id="c">もともとある枠</div> <div id="d">タグ</div> </div> <div id="b"> 公開 </div> 上記のような縦に並んだdiv要素があり id="d"のdivはjavascriptであとから追加されるページがあるのですが dが追加されるとbの下に隠れてしまいます。 z-indexが指定されているわけでもなく、 bにclear:both;を指定してみても隠れてしまいます。 どなたか解決の方法ご存知の方いらっしゃいませんでしょうか。 些細なことでもお心当たりがあれば教えていただきたいです。 ちなみに環境はiphone4 ios6.2 safariです。 よろしくお願いいたします。

    • ベストアンサー
    • CSS
このQ&Aのポイント
  • ドラムユニットのカウンターリセット方法を教えてください。タッチパネルの「トナー」ボタンを5秒間長押ししても「ドラム」の表示が出ないという問題について相談です。
  • お困りの症状は、ドラムを交換してもカウンターがリセットされず、「ドラム」の表示が出ないというものです。タッチパネルの「トナー」ボタンを5秒間長押ししても解決しない場合、他の方法でカウンターリセットする必要があるかもしれません。
  • 質問者はMFC-L2730DNのドラムユニットのカウンターリセット方法を知りたいという相談です。タッチパネルの「トナー」ボタンを5秒間長押ししても「ドラム」の表示が出ないため、他の方法を教えてほしいとのことです。
回答を見る

専門家に質問してみよう