要素には、属性とプロパティの両方があります。名前はchecked
です。このプロパティは、現在の状態を決定します。
属性は文字列で、プロパティはブール値です。要素がHTMLコードから作成されると、マークアップから属性が設定され、属性の値に応じてプロパティが設定されます。
マークアップ内の属性の値がない場合、属性はnull
なるが、プロパティは常にtrue
かfalse
のいずれかであるので、それはfalse
になります。
あなたがプロパティを設定するときは、ブール値を使用する必要があります属性を設定することも変更すること
document.getElementById('myRadio').setAttribute('checked', 'checked');
注:属性を設定した場合
document.getElementById('myRadio').checked = true;
、あなたは文字列を使用プロパティを設定しても属性は変更されません。
属性を設定する値が何であれ、プロパティはtrue
になります。空の文字列またはnull
を使用しても、属性を設定すると、チェックされていることを意味します。属性を使用して要素をオフにremoveAttribute
を使用します。HTML 4では
document.getElementById('myRadio').removeAttribute('checked');
番号を以前のそれは* *値を必要としなかった...それはオプションだった名前でした。 'checked =" checked "はフルバージョンですが、' checked = "'と '' 'offのままにしておくことができます。 (SGMLは*奇妙な*を得ることができます!) – Quentin
しかし、HTMLの規則ではなくDOMのプロパティについての質問があります。 – Quentin
@Quentin - それは意味論についてのほとんど議論ですが、十分に公正です。 – Oded