質問: 下記のコード(完結しているためbodyの中身のみ抽出)を実行すると、inputの中身とそのvalueがコンソール画面に表示されますが、両者のvalueが合いません。具体的には先に出力される方のvalueは初期値のままで、後の方は変更後のvalueになります。 通常、valueの取得では ``` .value ``` を付けるので問題ありませんが、当然range自体も変わると思っていました。そこで、以下2点の疑問が生じ、調べてはみましたがそれに関する詳細を見つけられませんでした。 ### 疑問 * rangeに表示される値はrange.valueとは異なる格納方法のようだが、rangeのどこに格納されているのか * そもそもrangeやrange.valueはどのような構造(?)で格納されているのか 以上、ご回答お願いします。 ``` ```
回答: inputの **value Attribute(value=)** はコントロールの初期値です。 type="range"の時 range.valueは、 **表示されているslider control** の値です。 `:` 入力欄(フォーム入力)要素()では、 value コントロールの初期値です。この属性は type 属性の値が radio または checkbox である場合を除き、省略可能です。 ページを再読み込みするとき、Gecko および IE は再読み込み前に値が変更された場合に HTML ソースで指定された値を無視する 点に注意してください。 HTML DOM Input Range Object()では、 value Sets or returns the value of the value attribute of a slider control と書いてあります。