2012-02-26 15 views
22

私はjQueryを使用していますが、IDはページ全体で一意でなければならないのでしょうか?私が知っているクラスは、あなたが好きなだけ何度でも繰り返すことができます。IDについてはどうですか?IDはページ全体で一意でなければならないのですか?

+1

そうする。 –

+1

あなたはIDの定義をオーバーライドすることはできませんIDは一意であるため、id属性は、一般的に一度だけ使用される –

+3

誰もこの質問に投票しないのはなぜですか?私はそれはシンプルですが、それは投票の理由ではない、あなたはちょうど上に移動する必要があります... – nodrog

答えて

29

はい、一意である必要があります。

HTML4:

http://www.w3.org/TR/html4/struct/global.html

セクション7.5.2:

ID =名[CS] この属性は、要素に名前を割り当てます。この名前は、ドキュメント内で一意である必要があります。

HTML5:

http://www.w3.org/TR/html5/dom.html#the-id-attribute

id属性は、その要素の一意の識別子(ID)を指定します。 の値は、要素のホームサブツリー のすべてのIDの中で一意でなければならず、少なくとも1文字を含む必要があります。値には、空白文字が含まれていてはなりません( )。

0

はい、IDは一意です。クラスはそうではありません。

2

IDは常に一意でなければならないことと思います。

皆がユニーク識別番号(例:社会保障番号)を持っており、多くの人々は基本的にIDの全体のポイントの社会クラス

1

です。 :) IDは特定であり、ページごとに1回しか使用できません。クラスは喜んで使用できます。

2

ブラウザはこれまで寛容であった(何年も前はCSSだった)、IDを複数回使用することができました。彼らはより厳しくなってきました。

ただし、IDは一意であり、一度だけ使用されます。

cssフォーマットを複数回使用する必要がある場合は、CLASSを使用してください。

1

Javascriptでは、IDを使用して1つの要素のみを参照できます。 document.getElementByIdおよびjQueryの$セレクタは、一致する最初の要素のみを返します。したがって、複数の要素で同じIDを使用することは意味をなさない。

-1

https://softwareengineering.stackexchange.com/questions/127178/two-html-elements-with-same-id-attribute-how-bad-is-it-reallyに同じ質問に対する素晴らしい回答があります。あなたが(それは悲しいです)この問題を回避する必要がある場合は、次のことができ

One tidbit not mentioned aboveは、いくつかの同一idの1が存在する場合と同じページ(それが標準に違反していても、起こる)であります$("*#foo")を使用すると、jQueryはgetElementsByTagNameを使用し、すべての一致する要素のリストを返します。

1

2018年1月には、ここではYouTubeのHTMLがあり、あなたはID = "ボタン"ID = "情報"が重複しているを見ることができます。

enter image description here

0

技術的には、HTML5の規格IDは、ページ上で一意でなければなりませんによって - https://developer.mozilla.org/en/DOM/element.id

しかし、私は、これは完全に無視され、それが動作する非常にモジュラーウェブサイトを、上働いてきました。それは理にかなっています - 最も驚くべき部分です。

私たちは、たとえば「コンポーネント化」

それを呼び出すには、ウィジェットのいくつかの種類は、あなたのページ、上のコンポーネントを持っているかもしれません。 "ok-button"などの独自のIDを内部に持っています

これらのウィジェットは、技術的には無効なHTMLを持つことが多くあります。しかし、それはに完璧な理にかなっていることがあるかもしれないそれ自身のルートから検索するjqueryのを使用している場合、それらそれぞれ、内部的に、自分の[OK]ボタンなどを参照するようにあなたのウィジェットをコンポーネント:$widgetRoot.find("#ok-button")

これが私たちのために働く、IDは技術的に考えましたユニークでないと一度は使用しないでください。

以上の土地を選定として、それがないので、背教ですので、でもYouTubeは、それを行う

あなたは可能性を感じた場合
関連する問題