Corredor

ウェブ、プログラミングの勉強メモ。

テキストボックスの value 属性を書き換えても innerHTML には反映されない

ユーザが textarea 要素にテキストを入力し、その後何らかのイベントで textarea 要素の親要素の innerHTML を取得すると、ユーザが入力したテキストがその innerHTML 内に残っている。

しかし、input[type=“text”] なテキストボックスの場合、ユーザがテキストを入力したり、JS で inputElem.value = "Hoge" みたいにして文字列を設定したりしても、その input 要素の親要素の innerHTML を取得した時に、その値が innerHTML 内には反映されていない。

DOM 操作で innerHTML を書き換えるプロパティ

JS から値を書き換えた時それが innerHTML に反映されるプロパティは、今のところ分かっている限りでは、style プロパティと id プロパティ、window.title プロパティあたり。

JS で何かの要素に style プロパティでスタイルを指定した場合、その要素を innerHTML で取得してみると style 属性が書かれている、ということだ。

value プロパティも style プロパティも、構文は変わらないように思うのだが、value プロパティだけ innerHTML が書き換えられないのはなぜだろう?

このへんの情報どこかにまとまってませんか?