Різниця між 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.