Perbedaan antara val () dan teks ()

Jawaban:

284

.val()bekerja pada elemen input (atau elemen apa pun dengan atribut nilai?) dan .text()tidak akan berfungsi pada elemen input. .val()mendapatkan nilai elemen input - terlepas dari jenisnya. .text()mendapatkan innerText (bukan HTML) dari semua elemen yang cocok:

.text()

Hasilnya adalah string yang berisi konten teks gabungan dari semua elemen yang cocok. Metode ini berfungsi pada dokumen HTML dan XML. Tidak dapat digunakan pada elemen input. Untuk input teks bidang gunakan atribut val.

.val()

Dapatkan konten atribut nilai dari elemen yang cocok pertama

tvanfosson
sumber
3
lucunya - memperhitungkan bahwa mereka mungkin tidak sama untuktextarea someTextArea.html() !== someTextArea.val()
Maciej Jankowski
Jangan gunakan textarea.html ('konten') untuk memuat konten. Saya memuat beberapa konten dengan jQuery dynamic - bagian yang lucu adalah ketika saya mengklik tombol simpan. Setelah tindakan itu, konten dalam teks tidak berubah lagi. Dengan mengatur konten dengan .val ('konten') masalah ini tidak muncul. Tidak tahu mengapa, tapi saya pikir itu ada hubungannya dengan DOM cache-ing dan perilaku yang berbeda dari kedua metode ini.
Erik Čerpnjak
25

text () mengembalikan konten teks gabungan dari semua elemen yang cocok (seperti p, div, dan sebagainya) val () digunakan untuk mendapatkan nilai elemen input (seperti input, pilih, dan sebagainya)

menurut teks dokumentasi resmi () tidak boleh digunakan dengan elemen input


sumber
1

val () digunakan untuk mengambil nilai dari semua jenis input html seperti (kotak centang, teks, dll), di mana pengguna memiliki opsi untuk memasukkan nilai. Ex:-

<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> 

dimana sebagai text () digunakan untuk mengambil nilai dari elemen html di mana pengguna tidak akan berinteraksi seperti (p, div dll)

    <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>
Debendra Dash
sumber
0

Fungsi .val () mengembalikan nilai dari elemen input dan fungsi .text () mengembalikan nilai dari selain elemen input. Kita juga bisa meneruskan argumen string ke fungsi-fungsi ini untuk mengatur nilai elemen panggilan . Kode di bawah ini menunjukkan cara menetapkan nilai ke elemen DOM menggunakan fungsi .val () dan .text ():

Bagian 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>

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

Demo: http://jsfiddle.net/urhys9zj/6/

Himanshu Singh
sumber