1

今日、いくつかの古い属性を含むページをより XHTML に適したものに変換していたところ、アンカー タグの件名に遭遇しました。具体的には: <a name="someName"></a>

アンカー<a id="someName"></a>タグを . 結局のところ、W3 もそうです。

id 属性と name 属性は同じ名前空間を共有します。つまり、同じドキュメント内で同じ名前のアンカーを定義することはできません。両方の属性を使用して、A、APPLET、FORM、FRAME、IFRAME、IMG、および MAP 要素の要素の一意の識別子を指定することができます。両方の属性が 1 つの要素で使用される場合、それらの値は同一である必要があります。

ページは、複製にもかかわらず、動作異常なしに、反抗的に機能します。

ページ ロジックは、特定の名前または ID でレンダリングされる HTML 要素が 1 つだけであることを保証するため、重複する href#someNameは存在しません。

それを念頭に置いて:

上記の使用例は、重複した名前/ID の使用に関する W3C ガイドラインにまだ違反していますか?

ページを一意の ID を使用するように変換するにはかなりの労力がかかりますが、そうするメリットがあるかもしれません。私はこれに慣れていないので、純粋に哲学的または明白な何かが欠けている場合はお詫び申し上げます。

4

1 に答える 1

3

ID は DOM 内で一意です。これは、JavaScript ですぐにわかる効果があります。利用可能な複数の要素のうちの1 つdocument.getElementById('someName')だけを選択します。おそらく最初のものですが、どれかを保証する方法はありません。id="someName"

于 2013-05-20T23:59:28.353 に答える