Sự khác biệt giữa val () và văn bản ()


Câu trả lời:


284

.val()hoạt động trên các phần tử đầu vào (hoặc bất kỳ phần tử nào có thuộc tính giá trị?) và .text()sẽ không hoạt động trên các phần tử đầu vào. .val()lấy giá trị của phần tử đầu vào - bất kể loại nào. .text()lấy phần bên trong (không phải HTML) của tất cả các phần tử phù hợp:

.text()

Kết quả là một chuỗi chứa nội dung văn bản kết hợp của tất cả các yếu tố phù hợp. Phương pháp này hoạt động trên cả tài liệu HTML và XML. Không thể được sử dụng trên các yếu tố đầu vào. Đối với văn bản trường đầu vào sử dụng thuộc tính val.

.val()

Lấy nội dung của thuộc tính giá trị của phần tử khớp đầu tiên


3
điều thú vị - hãy tính đến việc họ có thể không bằngtextarea someTextArea.html() !== someTextArea.val()
Maciej Jankowski

Không sử dụng textarea.html ('nội dung') để tải nội dung. Tôi đã tải một số nội dung với jQuery động - phần thú vị là khi tôi nhấp vào nút lưu. Sau hành động đó, nội dung trong textarea không thay đổi nữa. Với cài đặt nội dung với .val ('nội dung'), vấn đề này đã không xuất hiện. Không thể hiểu tại sao, nhưng tôi nghĩ nó có liên quan đến DOM cache-ing và hành vi khác nhau của 2 phương thức này.
Erik erpnjak

25

text () trả về nội dung văn bản kết hợp của tất cả các yếu tố phù hợp (như p, div, v.v.) val () được sử dụng để lấy giá trị của một yếu tố đầu vào (như đầu vào, chọn, v.v.)

theo văn bản tài liệu chính thức () không nên được sử dụng với các yếu tố đầu vào


1

val () được sử dụng để tìm nạp giá trị từ tất cả các loại đầu vào html như (hộp kiểm, văn bản, v.v.), trong đó người dùng có một tùy chọn cho giá trị đầu vào. Ví dụ:-

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

trong đó as text () được sử dụng để tìm nạp giá trị từ các phần tử html nơi người dùng sẽ không tương tác như (p, div, v.v.)

    <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

Hàm .val () trả về giá trị từ phần tử đầu vào và hàm .text () trả về giá trị từ các phần tử khác ngoài phần tử đầu vào. Chúng ta cũng có thể truyền đối số chuỗi cho các hàm này để đặt giá trị của phần tử gọi . Mã bên dưới cho thấy cách đặt giá trị cho các phần tử DOM bằng cách sử dụng các hàm .val () và .text ():

Phần 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>

Phần 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;
})

Bản trình diễn: http://jsfiddle.net/urhys9zj/6/

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.