option
のいずれも属性selected
の値がtrue
ではない場合、選択ドロップダウンの値が間違った値を返しています。ドロップダウンを選択すると間違った値が返されるのはなぜですか?
以下は、chrome consoleのスクリーンショットです。
編集1: what
選択ドロップダウンのjavascript
オブジェクトです。
編集2: とwhat
の値が最初に選択されていないなど、画面でどのように見えるか 。
option
のいずれも属性selected
の値がtrue
ではない場合、選択ドロップダウンの値が間違った値を返しています。ドロップダウンを選択すると間違った値が返されるのはなぜですか?
以下は、chrome consoleのスクリーンショットです。
編集1: what
選択ドロップダウンのjavascript
オブジェクトです。
編集2: とwhat
の値が最初に選択されていないなど、画面でどのように見えるか 。
attribute
が選択されていない場合でも、依然として選択されたproperty
が存在する可能性があります。 (HTML)属性とそれに対応する(Javascript)属性には違いがあります。
この
What.options[17].selected
true
What.options[17].getAttribute("selected")
null
を試していない空のエントリを持つselect要素は常に手動またはコードによってそれをしなかったにも関わらず、自動的に選択されたそのいずれかのオプションを持っています。あなたの例では、オプション17が選択されているので、プロパティはtrue
に設定されます。 の値が多値の場合、選択したオプションの値に変更されます。プロパティを変更すると、NOTがHTML属性に反映されます。
ブラウザは最初にHTMLを解析します。その解析タスク中に、プロセス内にあるすべての要素のDOMプロパティが読み込まれます。しかし、これらのプロパティを(手動または自動で)変更しても、HTML属性は変更されません。
「what」はどこですか?あなたのスクリーンショットの 'select'はその名前を持っていません。また、そのオプションを手動で選択し、その後に値が何かを確認しようとしましたか? – putvande
私は自分の質問を更新しました。 –
'What'は画面上にどのように見えますか?オプションは選択されていますか? – devnull69