• ベストアンサー

要素の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名を複数使用しない方がよいのでしょうか? 回答よろしくお願いします。

  • HTML
  • 回答数2
  • ありがとう数3

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

たとえばjavascriptには document.getElementById('hoge')というメソッド(関数?)が あります。これはhogeというidがついたエレメント(要素)を 特定するときにつかいます。 同じidが使われていると、ロジック上問題があります。 idは重ならないようにしましょう、というのは決められたことです。 ある日突然、同じ文書に同じidをつかっている箇所があるから 表示するのやめた・・・とブラウザが言い出すかもしれません。 規則と言うものはそういうものです。

miya_HN
質問者

お礼

なるほど。やはり、規則通りにした方がいいんですね。 ありがとうございました。

その他の回答 (1)

  • mana-chi
  • ベストアンサー率21% (4/19)
回答No.1

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

miya_HN
質問者

お礼

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

関連するQ&A

  • jQueryで同じid属性が複数あった場合の制御

    jQueryの勉強中ですが、ちょっと躓いています。 ブロック要素の中に、同じid属性をもつ要素があった場合 二つ目の要素のみを削除するにはどうしたらようでしょうか? 下記のようなイメージです。 <div id="test"> <p id="aaa"></p> <p id="bbb"></p> <p id="ccc"></p> <p id="aaa"></p> ←2個目の要素は削除(または非表示)にしたい。 </div> かなり困ってます・・・わかる方 教えていただけると助かります。

  • name属性とid属性

    name属性とid属性の定義の違いについて教えてください。 <タグ name="xxx" id="yyy">のように 同じタグ内に、2つを使用していいのでしょうか。 もし、2つを使用してよいのなら、 JavaScriptでの扱いについて教えてください。

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

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

    • ベストアンサー
    • HTML
  • 終了タグのコメントとしての属性

    こんにちは。 自称html中級者です。 htmlの終了タグについて質問があります。 【質問内容】 1. 終了タグにコメントとして属性をつける事の是非 2. 是の場合、その条件・理由・根拠 3. 非の場合、その条件・理由・根拠 【条件】 解析、生成、その他ツールは使用しない 【経緯】 現在、社内HPのメンテを行っております。 タグの要素が長く開始~終了が分かり辛い場合は、何らかの終了コメントをつける事が多いと思います。 例 (直前に付ける場合) <div id="hoge"> ... <!-- hoge --></div> それを見ていて気になったのですが、上記例を次のように、終了タグ内に属性として埋め込むのは如何なものでしょうか? 例 (属性名fooとする場合) <div id="hoge"> ... </div foo="hoge"> 終了タグに余計な物を入れるのが良くないのは承知しています。 が、その理由について深く述べられている記載がなかったので質問に至りました。 以上です。 ご教示よろしくお願いします。

  • フォーム要素以外にもname属性を付与して良い?

    HTML5仕様では、name属性はどこに付与する決まりになっているのでしょうか? ・フォーム要素以外にもname属性を付与して良いのでしょうか? ・下記のようなことをしても良いでしょうか? ・テキストフィールドではなく、<div name="hoge">をDOM操作してその結果をPOSTで受け取りたいのですが… <form method="post">  <div name="hoge"></div>  <input type="submit"> </form>

    • ベストアンサー
    • HTML
  • 指定した属性値を持つ要素に追加する方法

    質問させてもらいます。 Visual C#を使ってXMLファイルに対して 読み書きを行うプログラムを作っています。 同じ要素名で違う属性値を持つ要素が複数ある場合、 その中の特定の要素の属性値を指定し、それに追加する 方法がわかりません。 実現方法や参考になるサイト等教えてください。 開発環境は下記です。 WindowsXP Visual Studio 2005

    • 締切済み
    • XML
  • class指定したHTML要素の背景色を変えるには

    HTML文書中で,class指定した要素の背景色を変更するには,どのようにしたら良いのでしょうか。 例: <div id="HOGE"> <p class="hoge"> Hellow! </p> </div> id指定の要素に対しては, document.getElementById('HOGE').style.backgroundColor="red"; として成功しましたが,class="hoge"に対してはどのように指定すれば良いのかわかりません。 よろしくお願いします。

  • HTML文書のタグの属性をjavascriptで抜き出す。

    はじめまして。 現在javascriptでHTML文書にある要素の属性名を抜き出すロジックを 考えているのですが、詰まっています。 例えば <form name="A" action="B"> という要素があった場合にその属性名「name」「action」を抜き出したいのです。 HTML文書にある要素名を抜き出すロジックは何とか出来ました。 以下がその関数です。 -------ここから------- function test() { kazu=document.all.length //文書の要素数を設定 var tagname='' for(i=0; i<kazu; i++){ tagname=tagname+document.all(i).nodeName+'\n' //要素名を抜き出す。 } document.send.aa.value=tagname //フォーム部品に結果をセットする。 } ------ここまで----------- 要素名を抜き出している部分は document.all(i).nodeName とかけましたが 属性名を抜き出すのは document.all(i).attributes… のように書くんだろうな… と予測して実行したのですがエラーがでました。 DOM文書を読んでみたのですがいまいちピンときません。 どなたが教えていただけませんか? 使用しているブラウザはWindowsのIE5.5です。

  • jqueryにて、独自属性を使ってタグを操作したい

    皆様 いつもお世話になります。 早速ですがご質問させていただきます。 現在、独自属性を使った学習をしております。 jqueryでidを使って以下のタグの「追加位置」に「追加要素」を挿入すると 以下のようになると思いますが、 <div id="aaa"> <!--追加位置--> </div> $(div#aaa).prepend("追加要素"); 独自属性を使って、同じことをしようとする際、idを識別するのに「#」を使うと思いますが、独自属性はどういう識別子(★にあたる箇所)を使うのでしょうか? div data-hoge="aaa"> <!--追加要素--> </div> var dokuji = $('div').attr('data-hoge'); $(★dokuji).prepend("追加要素"); お詳しい方ご教授のほど宜しくお願い致します。 開発環境: Dreamweaver CC Firefox 34.0.5

  • 【CSS】class属性とid属性の使い分けについて

    CSSの勉強をしているのですが、 任意の範囲にスタイルを設定する [class属性]と[id属性]の使い分け について、どのように解釈したら 良いか、今一すっきり飲み込めません。 W3Cの定義によれば、idの場合は、一つ のHTML文書内で1度しか呼び出す事が できないことになっているようです が、たった1度しか呼び出す事の できないid属性は、どのような場合に 使ったらよいですか? 宜しくお願いします。

専門家に質問してみよう