3

ラベルで「for」属性を使用する利点を完全に理解しています。これは HTML 仕様自体に関する質問だと思います。作成者は、フィールドで「名前」属性を使用するのではなく、ラベルを ID に一致させたいのはなぜですか?

とにかく、フィールドの名前は一意でなければなりませんよね?では、99% の確率でフィールド ID がフィールド名と直接一致するように見えるのに、別の属性と追加の HTML をフィールドに追加する必要はありません。

編集

labelラジオボタンの場合、多くの人が言っているように、名前は一意ではありませんが、その場合、フィールド自体をラップできるため、ラベルの「for」要素は必要ありません。正しい?

4

2 に答える 2

2

name属性は常に一意であるとは限りません。通常、ラジオ ボタンは同じ を共有しますname

編集

入力はラベルでラップできます。これは有効です。しかし、ラベルをラップできない、またはラップしたくない場合も考えられます。たとえば、ラベルが他の HTML によって入力から分離されている場合。

于 2013-03-14T13:51:29.503 に答える
0

友達の名前はユニークではありません!ところでラジオボタンのように;)そして、すべてのセレクターはIDに基づいています。

例:

<fieldset>
 <label for="radio1">
 <input type="radio" name="allRadios" id="radio1">
 <label for="radio2">
 <input type="radio" name="allRadios" id="radio2">
</fieldset>

JavaScript 関数:

document.getElementsByName("allRadios") は、radio という名前の要素が 1 つしかない場合でも配列を提供し、document.getElementById("radio1") は 1 つの DOM 要素を提供します。

例:

于 2013-03-14T13:50:46.630 に答える