text() 返回所有匹配元素(如 p、div 等)的组合文本内容 val() 用于获取输入元素(如 input、select 等)的值
根据官方文档 text() 不应与输入元素一起使用
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>
.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/
textarea
someTextArea.html() !== someTextArea.val()
他们可能不相等