ความแตกต่างระหว่าง val () และข้อความ ()


คำตอบ:


284

.val()ใช้งานได้กับองค์ประกอบอินพุต (หรือองค์ประกอบใด ๆ ที่มีคุณลักษณะค่าหรือไม่) และ.text()จะไม่ทำงานกับองค์ประกอบอินพุต .val()รับค่าขององค์ประกอบอินพุต - โดยไม่คำนึงถึงชนิด .text()รับ InnerText (ไม่ใช่ HTML) ขององค์ประกอบที่ตรงกันทั้งหมด:

.text()

ผลลัพธ์คือสตริงที่มีเนื้อหาข้อความรวมขององค์ประกอบที่ตรงกันทั้งหมด วิธีนี้ใช้ได้กับทั้งเอกสาร HTML และ XML ไม่สามารถใช้กับองค์ประกอบอินพุตได้ สำหรับข้อความฟิลด์อินพุตให้ใช้แอ็ตทริบิวต์ val

.val()

รับเนื้อหาของแอตทริบิวต์ค่าขององค์ประกอบที่ตรงกันแรก


3
สิ่งที่ตลก - คำนึงว่าพวกเขาอาจไม่เท่ากันtextarea someTextArea.html() !== someTextArea.val()
Maciej Jankowski

อย่าใช้ textarea.html ('เนื้อหา') เพื่อโหลดเนื้อหา ฉันโหลดเนื้อหาบางส่วนด้วย jQuery dynamic - ส่วนที่ตลกคือเมื่อฉันคลิกปุ่มบันทึก หลังจากการกระทำนั้นเนื้อหาใน textarea ไม่เปลี่ยนอีกต่อไป ด้วยการตั้งค่าเนื้อหาด้วย. val ('เนื้อหา') ปัญหานี้ไม่ปรากฏขึ้น ไม่สามารถหาสาเหตุได้ แต่ฉันคิดว่ามันมีส่วนเกี่ยวข้องกับการแคช DOM และพฤติกรรมที่ต่างกันของทั้งสองวิธี
Erik Čerpnjak

25

text () คืนค่าเนื้อหาข้อความแบบรวมขององค์ประกอบที่ตรงกันทั้งหมด (เช่น p, div และอื่น ๆ ) val () ใช้เพื่อรับค่าขององค์ประกอบอินพุต (เช่นอินพุตเลือกและอื่น ๆ )

ไม่ควรใช้ข้อความเอกสารอย่างเป็นทางการ () กับองค์ประกอบอินพุต


1

val () ใช้เพื่อดึงค่าจากประเภทอินพุต html ทุกประเภทเช่น (ช่องทำเครื่องหมายข้อความ ฯลฯ ) ซึ่งผู้ใช้มีตัวเลือกให้ป้อนค่า 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> 

โดยที่ as text () ใช้เพื่อดึงค่าจากองค์ประกอบ 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/

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.