さまざまな Web ページに埋め込むことができる一種の HTML+JS コントロールを開発しています。私はそれらのページについて何も知りません (まあ、できますが、したくありません)。コントロールは、子要素のサブツリーを含む 1 つのルート要素 (DIV など) で構成されます。私のスクリプトでは、子要素にアクセスする必要があります。問題は、これらの子要素を区別するためにどのようにマークを付けることができるかです。
簡単な解決策は、id-s を使用することです。ここでの問題は、id がドキュメント全体の範囲内で一意でなければならず、コントロールが埋め込まれているドキュメントについて何も知らないことです。したがって、ID の一意性を保証することはできません。ID が一意でない場合は (注意して使用すれば) 機能しますが、これは標準に準拠していないため、たとえば、ブラウザーの新しいバージョンで問題が発生する可能性があります。
別の解決策は、「name」属性を使用することです。一意である必要はありません。それで問題ありません。ただし、標準では、要素タイプの制限されたセットに対してのみ「name」属性の存在が許可されています。たとえば、「name」属性は DIV 要素では無効です。
たとえば、「クラス」属性を使用できます。規格上はOKのようですが、意味的にはOKではありません。「クラス」は他の目的に使用する必要があり、これは混乱を招く可能性があります。
HTLM 要素のローカルIDを実装するための他のオプションを提案できる人はいますか?