2009-08-14 15 views
1

要素の子のid名は、親要素が異なる場合、別の要素の子要素のidと同じにしても構いませんか?潜在的な競合?子要素のidの繰り返し

+0

...私は混乱しています、あなたは例を挙げることができますか? – marcgg

答えて

9

いいえ、要素idは、ドキュメント全体で一意である必要があります。 document.getElementById()は、idが重複していると正しく機能しません(明らかに、1つの要素を返すため)。今度はあなたのページはおそらく複写idでうまくいくでしょう。ブラウザがクラッシュしたりページをレンダリングするのを拒否したりするのではなく、正しいHTMLではありません。

一意でない識別子が必要な場合は、class属性を使用してください。それはまさに同じ名前の複数の要素をタグ付けするためのものです。

2

非常に悪い習慣であり、エラーを引き起こす可能性があります。より良い解決策は、クラスを使用して子オブジェクトを区別し、次に親IDから降りて、探している要素を見つけることです。

1

IDは、HTMLまたはJavascriptのコンテキストに関係なく、常に一意である必要があります。一意の識別子ではるかに良いです。たとえば、 "foo"という名前のIDを持つ複数の要素があります。 document.getElementById( "foo")は、そのIDで最初のインスタンスのみを返します。

1

同じIDを持つ異なるDOM要素を持っていると、ある時点で問題につながります...うまくいかないと思ってもそれをしないでください。

3

Read the spec

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

関連する問題