id
簡単な質問: HTML タグがなくても完全に機能するのに、なぜ HTML タグに追加する必要があるのでしょうか? それらの用途の 1 つは、ハッシュタグ ( #
) を介してページ内を移動できることですが、他に用途はありますか?
9 に答える
id
HTML での属性の使用
- URL のフラグメント識別子のターゲットとして。
- および要素の
for
属性のフォーム コントロールのターゲットとして。<label>
<output>
- フォームに関連付けられた要素の属性
<form>
の要素のターゲットとして。form
- microdata
itemref
属性による要素参照のターゲットとして。 aria-describedby
、 およびその他 4 つの ARIA 属性を介した要素参照のターゲットとしてaria-labelledby
。- 属性 on and elementsのターゲット on
<th>
elements として。headers
<td>
<th>
- 属性
<menu>
の要素のターゲットとして。contextmenu
<datalist>
要素のlist
属性の要素のターゲットとして<input>
。- および要素の属性
<map>
の要素へのハッシュ名参照の一部として。usemap
<img>
<object>
- CSS セレクターの要素の識別子として
- JavaScript 処理の要素の識別子として
これらは、スタイリング (CSS) およびスクリプト (JavaScript など) の目的で要素を一意に識別するために最もよく使用されます。
しかし、HTML のみについて質問している場合、宣言型 ID が役立つ 1 つの例は、 a<label>
とその<input>
、<button>
またはその属性<textarea>
を介したコントロールの関連付けです。for
<label for="ex">Example field:</label>
<input type="text" name="ex" id="ex">
この属性を割り当てないと、ラベルを有効にしても何も起こりませんが、 と を使用して両方の要素をペアにするfor
とid
、ラベルを有効にすると、そのコントロールがフォーカスされます。
フォーム ラベルをそのコントロールに関連付けるもう 1 つの方法は、ラベル内に含めることです。
<label>
Example field:
<input type="text" name="ex">
</label>
しかし、これは常にフォームやページの構造に適しているとは限らないため、代わりに ID 参照が提供されています。
id
属性が機能するその他の状況については、 Alohci の回答で詳しく説明されています。
私自身もclass
CSSによるスタイリングを好みますが、一意にするための要素が必要になる場合があります。アクセシビリティ上の理由から、属性を使用id
して要素を「接続」するために要素を入力するためlabel
に使用しfor
ます。id
また、Javascriptの場合、属性がある場合は要素を選択する方がはるかに簡単です。
ID を使用して、javascript、CSS、および jquery から div にアクセスできます。ID を使用しないと、JS から HTML ページを操作するのが非常に難しくなります。
私の知る限り、それらはタグを一意に参照するために使用され、タグを参照しやすくなります。
ID は、CSS および JavaScript で要素にアクセスするために使用されます。厳密に言えば、ID は要素を一意に識別する必要があります。クラス属性を使用して、要素のグループを識別することもできます。
id 属性は、ドキュメント内の要素の一意の識別子を提供します。a 要素で使用して、この特定の要素へのハイパーリンクを作成できます。
この識別子は、スタイリング目的で使用できるフックとして CSS コードで使用することも、JavaScript コードで (ドキュメント オブジェクト モデル (DOM) を介して) 使用して、一意の ID を参照して要素に変更を加えたり動作を追加したりすることもできます。
http://reference.sitepoint.com/html/core-attributes/idを参照してください
クラスの詳細については、こちらを参照してください: http://reference.sitepoint.com/html/core-attributes/class
java-scriptコードで要素を識別するのに役立ちます.java-scriptのgetElementByID関数は、特定のIDを持つ要素のハンドルを提供します.このように.
var someElement = document.getelementById("someID");
// do whatever with someElement;
私が HTML 要素に id を使用する主な理由は、クラスgetElementById
を使用すると、Javascript と CSS の両方で、それらの選択がより高速になるという事実です。#id
もちろん、これが常に良いアイデアだと言っているわけではありません。特に CSS では、ID に基づくクラスを持つと多くの冗長性が生じる可能性があります。これは理由の 1 つにすぎません。
まず、ID を使用する必要がある場合にのみ ID を追加します。ほとんどの場合、id は次のような他のことを行うために使用されます。
- スクリプトのリファレンス、スクリプトを適用する要素の選択、
- スタイル シート セレクター、スタイリングの要素を選択
- リンク先の名前付きアンカー。これは、ページ ナビゲーションと呼ばれるものです。
したがって、ほとんどの場合、任意のタグ内のコンテンツに対して何かをしたいという理由だけで、id 属性である識別子を配置することをお勧めします。