Differenza tra val () e text ()


Risposte:


284

.val()funziona su elementi di input (o qualsiasi elemento con un attributo value?) e .text()non funzionerà su elementi di input. .val()ottiene il valore dell'elemento di input, indipendentemente dal tipo. .text()ottiene il testo interno (non HTML) di tutti gli elementi corrispondenti:

.text()

Il risultato è una stringa che contiene i contenuti di testo combinati di tutti gli elementi corrispondenti. Questo metodo funziona sia su documenti HTML che XML. Non può essere utilizzato su elementi di input. Per il testo del campo di input utilizzare l'attributo val.

.val()

Ottieni il contenuto dell'attributo value del primo elemento corrispondente


3
cosa divertente - tieni presente che potrebbero non essere uguali pertextarea someTextArea.html() !== someTextArea.val()
Maciej Jankowski il

Non utilizzare textarea.html ('contenuto') per caricare il contenuto. Ho caricato alcuni contenuti con jQuery dinamico: la parte divertente è stata quando ho fatto clic sul pulsante Salva. Dopo tale azione, il contenuto nell'area di testo non è più cambiato. Con l'impostazione del contenuto con .val ('content') questo problema non è apparso. Non sono riuscito a capire il perché, ma penso che abbia qualcosa a che fare con la memorizzazione nella cache DOM e il diverso comportamento di questi 2 metodi.
Erik Čerpnjak,

25

text () restituisce il contenuto del testo combinato di tutti gli elementi corrispondenti (come p, div e così via) val () viene utilizzato per ottenere il valore di un elemento di input (come input, select e così via)

in base al testo ufficiale della documentazione () non deve essere utilizzato con elementi di input


1

val () viene utilizzato per recuperare il valore da tutti i tipi di input html come (casella di controllo, testo, ecc.), in cui l'utente ha un'opzione per immettere il valore. 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> 

dove as text () viene utilizzato per recuperare valore dagli elementi html in cui l'utente non interagirà come (p, div ecc)

    <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

La funzione .val () restituisce valore dall'elemento di input e la funzione .text () restituisce valore da altri elementi di input. Possiamo anche passare l'argomento stringa a queste funzioni per impostare il valore dell'elemento chiamante . Il codice seguente mostra come impostare il valore sugli elementi DOM usando le funzioni .val () e .text ():

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

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.