Різниця між val () і текстом ()


Відповіді:


284

.val()працює над елементами введення (або будь-яким елементом із атрибутом значення?) і .text()не буде працювати над елементами введення. .val()отримує значення вхідного елемента - незалежно від типу. .text()отримує innerText (не HTML) усіх відповідних елементів:

.text()

Результат - рядок, який містить комбінований текстовий вміст усіх збіжених елементів. Цей метод працює як в HTML, так і в XML-документах. Не можна використовувати для вхідних елементів. Для введення тексту поля використовуйте атрибут val.

.val()

Отримайте вміст атрибута значення першого відповідного елемента


3
смішна річ - врахуйте, що вони можуть бути не рівнимиtextarea someTextArea.html() !== someTextArea.val()
— Maciej Jankowski

Не використовуйте textarea.html ("content") для завантаження вмісту. Я завантажив деякий вміст за допомогою jQuery динамичного - найсмішніша частина була, коли я натиснув кнопку збереження. Після цієї дії зміст у текстовій області більше не змінювався. Якщо встановити вміст за допомогою .val ('content'), ця проблема не з’явилася. Не міг зрозуміти, чому, але я думаю, що це має щось спільне з кешуванням DOM та різною поведінкою цих двох методів.
— Ерік Черпняк

25

text () повертає об'єднаний текстовий вміст усіх відповідних елементів (наприклад, p, div тощо). val () використовується для отримання значення елемента введення (наприклад, введення, вибору тощо)

згідно з офіційною документацією текст () не повинен використовуватися з елементами введення


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> 

де як текст () використовується для отримання значення з елементів html, коли користувач не буде взаємодіяти як (p, div тощо)

    <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 () повертає значення від інших, ніж вхідних елементів. Ми також можемо передати рядковий аргумент цим функціям для встановлення значення викличного елемента . Нижче коду показано, як встановити значення елементів DOM за допомогою функцій .val () та .text ():

Частина 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/

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.