val()とtext()の違い


回答:


284

.val()入力要素(またはvalue属性を持つ任意の要素?)で.text()機能し、入力要素では機能しません。 .val()タイプに関係なく、入力要素の値を取得します。.text()一致するすべての要素のinnerText(HTMLではない)を取得します。

.text()

結果は、一致したすべての要素の結合されたテキストコンテンツを含む文字列です。この方法は、HTML文書とXML文書の両方で機能します。入力要素では使用できません。入力フィールドのテキストには、val属性を使用します。

.val()

最初に一致した要素の値属性の内容を取得します


3
面白いこと-それらが等しくないかもしれないことを考慮に入れてくださいtextarea someTextArea.html() !== someTextArea.val()
Maciej Jankowski 2015

contentarea.html( 'content')を使用してコンテンツをロードしないでください。いくつかのコンテンツをjQuery dynamicでロードしました。面白いのは、保存ボタンをクリックしたときです。そのアクションの後、textareaのコンテンツは変更されなくなりました。.val( 'content')でコンテンツを設定すると、この問題は発生しませんでした。理由はわかりませんが、DOMキャッシュとこれら2つのメソッドの異なる動作に関係していると思います。
ErikČerpnjak16年

25

text()は、一致したすべての要素(p、divなど)の結合されたテキストコンテンツを返します。val()は、入力要素(input、selectなど)の値を取得するために使用されます。

公式ドキュメントによると、text()はinput要素では使用できません


1

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>

0

.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;
})

デモ:http : //jsfiddle.net/urhys9zj/6/

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.