jQueryを使って、
textArea input text
にセットされている文字列を取得したい場合に、
text() val()
のどっちの関数を使えば良いのか良く迷う。
例えば以下のような例だ。
<body> <script> window.onload = function () { var inputText = $('<input type="text" />'); var textArea = $('<textarea />'); $('body').append(inputText); $('body').append(textArea); inputText.val('inputTextの初期値'); textArea.val('textAreaの初期値'); var text1 = $('body > input[type="text"]').val(); var text2 = $('body > input[type="text"]').text();//空文字列 var area1 = $('body > textarea').val(); var area2 = $('body > textarea').text(); //でも良い var CRLF = '\r\n'; var msg = 'text1 val() =' + text1 + CRLF + 'text2 text()=' + text2 + CRLF + 'area1 val() =' + area1 + CRLF + 'area2 text()=' + area2 + CRLF ; alert(msg); }; </script> </body>
まず、二つの要素をbodyに追加する。
var inputText = $('<input type="text" />'); var textArea = $('<textarea />'); $('body').append(inputText); $('body').append(textArea);
追加した要素に初期値を与える
inputText.val('inputTextの初期値'); textArea.val('textAreaの初期値');
値をセットする場合はval()で行う。
ここでセットした値がそれぞれの要素に表示される。
一方、値を取得する場合も、val()で行うと良い。
var text1 = $('body > input[type="text"]').val(); var area1 = $('body > textarea').val();
これで正常に値を取得出来た。
一方、text()メソッドを使うと、
var text2 = $('body > input[type="text"]').text();//空文字列 var area2 = $('body > textarea').text(); //でも良い
textAreaのほうは同じく正常に値を取得出来たが、input textのほうは空文字列が返ってきた。
なので、結論としては、textArea, input textのどちらの場合も値の設定・取得には
val()
を使えば十分。
本を読む
アマゾンのランキングが高いので、良い本なのかもしれない。
本日現在では、Kindle版だと450円だ。
安いな。272ページもあるのに。
ワテはまだ読んでいない。
Web開発本の売れ筋ランキングを見る。
コメント