- ベストアンサー
要素のid属性の名前について
要素のid属性の名前について質問があるのですが、 ■質問1 ID名を付けるとき、同一文書内に同じID名を複数使用してはいけない、というのはこれは同じ要素に対して同じID名を複数付けてはいけないということでしょうか?それとも要素は関係なく、ID名そのものが複数存在してはいけないということでしょうか? 例1:要素、ID名ともに同じ場合× <p id="name"></p> <p id="name"></p> 例2:要素が違って、ID名が同じ場合? <p id="name"></p> <div id="name"></div> 例3:要素が違い、ID名も違うので○ <p id="name1"></p> <div id="name2"></div> ■質問2 ID名は、同一文書内に同じID名を複数使用してはいけないと言われていますが、実際には使用できてしまうそうですが、やはり本来の使用方法にのっとって同一ID名を複数使用しない方がよいのでしょうか? 回答よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
たとえばjavascriptには document.getElementById('hoge')というメソッド(関数?)が あります。これはhogeというidがついたエレメント(要素)を 特定するときにつかいます。 同じidが使われていると、ロジック上問題があります。 idは重ならないようにしましょう、というのは決められたことです。 ある日突然、同じ文書に同じidをつかっている箇所があるから 表示するのやめた・・・とブラウザが言い出すかもしれません。 規則と言うものはそういうものです。
その他の回答 (1)
- mana-chi
- ベストアンサー率21% (4/19)
idは固有名詞です。ここ「教えてgoo」でも同じidは受け付けません。 実社会では同姓同名同漢字います、実際には使用できてしまうのはそういうことです。親戚にいたら私なら避けるけど、役所では受け付けます。実際に、同じ場所にいて呼び出されたらブラウザはどちらと判断すればいいのですか?idにはいろいろな役割がありますので、同じページに複数あると不便だから分かっている人はやろうとしません。 問い2なんてわかっている上での質問でしょ?miya_HNさんが、間違いと知った上で使いたいなら使えばいいのでは?だれもこまりません。読めない使えない人が増えるだけです。読めない人はさっさと読めるページに行きます。だーれもこまりません。miya_HNさんのお好きなようにどうぞ。 >ID名を付けるとき、同一文書内に同じID名を複数使用してはいけない、というのはこれは同じ要素に対して同じID名を複数付けてはいけないということでしょうか?それとも要素は関係なく、ID名そのものが複数存在してはいけないということでしょうか? 何が正しいかは仕様書にかいてあることです。でもやりたいこととは違うのでしょ?miya_HNさんのお好きなようにどうぞ。 先の質問でも沢山の人が基本を学ぶことを薦められていますが私も同感です。先の人が調べたのに付け加えますね。 要素のid属性の名前について 08/01/26 12:35 http://okwave.jp/qa3714839.html セレクタで使用できる文字について 08/01/25 15:20 http://okwave.jp/qa3712415.html CSSの基本的な形 08/01/25 15:38 http://okwave.jp/qa3712464.html 定義型リストの<dd>の配置位置 08/01/24 18:08 http://okwave.jp/qa3709938.html http://oshiete1.goo.ne.jp/qa3680189.html ホームページ作成でリンクを作成する方法:08/01/14 20:44 http://oshiete1.goo.ne.jp/qa3683101.html CSSの設定方法:08/01/15 20:28 http://oshiete1.goo.ne.jp/qa3685405.html CSSの長さの単位:08/01/16 16:31 http://oshiete1.goo.ne.jp/qa3685502.html CSS:横一列にリンクする文字の見栄えをよくする:08/01/16 17:01 http://oshiete1.goo.ne.jp/qa3685173.html CSS:リンクにカーソルを合わせたときに文字の色が変わらない:08/01/16 15:02 http://oshiete1.goo.ne.jp/qa3688945.html div要素の用途について:08/01/17 19:51 http://oshiete1.goo.ne.jp/qa3689732.html HTMLファイルの名前の付け方:08/01/17 23:57 http://oshiete1.goo.ne.jp/qa3689038.html 作成者側とユーザー側のブラウザ:08/01/17 21:47 http://oshiete1.goo.ne.jp/qa3688116.html 要素のない文字をCSSでレイアウトを整える方法:08/01/17 14:37 http://oshiete1.goo.ne.jp/qa3688830.html class属性の名前の付け方について:08/01/17 19:01 http://oshiete1.goo.ne.jp/qa3691946.html HTML:相対パスと絶対パスについて:08/01/18 20:53 http://oshiete1.goo.ne.jp/qa3691995.html HTML,CSS:文章内の文字を強調する方法:08/01/18 21:10 http://oshiete1.goo.ne.jp/qa3700714.html <table>の境界線:08/01/21 19:16 http://oshiete1.goo.ne.jp/qa3694677.html HTML:区画のレイアウトについて:08/01/19 20:30 http://oshiete1.goo.ne.jp/qa3706946.html CSS:全体の画面の中央ぞろえ:08/01/22 21:12 http://oshiete1.goo.ne.jp/qa3706887.html 全体のレイアウト:中央揃えについて:08/01/23 18:45 http://oshiete1.goo.ne.jp/qa3703446.html CSS:区画のレイアウト1:08/01/22 17:02 http://okwave.jp/qa3706887.html レイアウトが崩れないようにするための、<div>を<div>で囲む理由:08/01/23 19:07
お礼
ありがとうございました。
お礼
なるほど。やはり、規則通りにした方がいいんですね。 ありがとうございました。