jQueryの機能val()
との違いは何text()
ですか?
どちらをどこで使用しますか?
jQueryの機能val()
との違いは何text()
ですか?
どちらをどこで使用しますか?
回答:
.val()
入力要素(またはvalue属性を持つ任意の要素?)で.text()
機能し、入力要素では機能しません。 .val()
タイプに関係なく、入力要素の値を取得します。.text()
一致するすべての要素のinnerText(HTMLではない)を取得します。
結果は、一致したすべての要素の結合されたテキストコンテンツを含む文字列です。この方法は、HTML文書とXML文書の両方で機能します。入力要素では使用できません。入力フィールドのテキストには、val属性を使用します。
最初に一致した要素の値属性の内容を取得します
textarea
someTextArea.html() !== someTextArea.val()
text()は、一致したすべての要素(p、divなど)の結合されたテキストコンテンツを返します。val()は、入力要素(input、selectなど)の値を取得するために使用されます。
公式ドキュメントによると、text()はinput要素では使用できません
val()は、(チェックボックス、テキストなど)のようなすべてのhtml入力タイプから値をフェッチするために使用され、ユーザーは値を入力するオプションを持っています。 例:-
<input type="text" id="txt_name" />
<input type="checkbox" name="vehicle" value="Bike" id="chk_byk" class="ss">bike<br>
<script type="text/javascript">
$(document).ready(function () {
$("#btn_submit").click(function () {
alert($("#chk_byk").val());
});
});
</script>
ここで、text()は、ユーザーが(p、divなど)のように対話しないHTML要素から値をフェッチするために使用されます
<p id="p1">Hi how are u??</p>
<div id="dv5">Debendra</div>
<script type="text/javascript">
$(document).ready(function () {
$("#btn_submit").click(function () {
alert($("#dv5").text());
});
});
</script>
.val()関数は入力要素から値を返し、.text()関数は入力要素以外からの値を返します。これらの関数に文字列引数を渡して、呼び出し元の要素の値を設定することもできます。以下のコードは、.val()および.text()関数を使用してDOM要素に値を設定する方法を示しています。
HTMLパート:
<form id="form1"><input id="first" type="text" /><input type="submit" /></form>
<div id="second">Click the "Submit Query" to see it work</div>
jqueryパーツ:
$(document).on("submit", "form", function (e) {
$("#first").val("This input is set by .val() function");
$("#second").text("A new text is set using .text() function!");
return false;
})