val()和text()之间的区别

时间:2009-04-30 16:36:43

标签: javascript jquery html

jQuery的函数val()text()之间有什么区别?

你在哪里使用一个?

4 个答案:

答案 0 :(得分:268)

.val()适用于输入元素(或具有值属性的任何元素?),.text()不适用于输入元素。 .val()获取input元素的值 - 无论类型如何。 .text()获取所有匹配元素的innerText(而不是HTML):

.text()

  

结果是包含的字符串   所有的组合文本内容   匹配的元素。这种方法有效   HTML和XML文档。不可能是   用于输入元素。用于输入   字段文本使用val属性。

.val()

  

获取value属性的内容   第一个匹配的元素

答案 1 :(得分:25)

text()返回所有匹配元素的组合文本内容(例如p,div等) val()用于获取输入元素的值(例如input,select等)

根据官方文档text()不应与输入元素一起使用

答案 2 :(得分:0)

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> 

其中text()用于从用户不会像(p,div等)那样进行交互的html元素中获取值

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

答案 3 :(得分:0)

.val()函数从输入元素返回值,而.text()函数从输入元素之外返回值。我们还可以将字符串参数传递给这些函数,以设置调用元素的值。下面的代码显示了如何使用.val()和.text()函数为DOM元素设置值:

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/