jQueryでtextareaの値はvalで取得する

HTMLのtextareaは

<textarea>abc</textarea>

と書きます。
jQueryでは、このようにタグで挟む場合は.html()で値を取得できます。
しかしtextareaの場合は.val()で取得します。

実際に試してみたところ、.val()、.text()、.html()のいずれでもtextareaの値を取得することができました。
しかし、textareaの内容を書き換えてから取得すると、書き換えた後の値を取得できるのは.val()だけでした。

一方、値のセットについては、やはりいずれの場合でもセットすることができました。
しかし、.text()と.html()では、一度、セットした後、再度セットしようとすると正しく動作しませんでした。.val()ならば意図通り動作します。

jQueryでtextareaの値を取得したりセットしたりする場合は.val()を使うのが確実です。

なおChromeとFirefoxでは上述のような動作をしますが、IEでは.text()と.html()でも.val()と同じ動作をします。

コメント

タイトルとURLをコピーしました