jQuery text()在Google Chrome中返回null

时间:2010-10-31 13:01:25

标签: jquery text google-chrome string

在使用jQuery文本功能时,我正在研究Google Chrome中的一种奇怪行为:

$(document).ready(function () {
   $("#btnSubmit").click(function () {
       var t = $('#txtMessage').text();
       alert(t); //this shows nothing in Google Chrome, but works in IE9
   });
});

当我将var t = $('#txtMessage').text();更改为var t = $('#txtMessage').val();时,它可以在Chrome中使用。

那么,text()函数有什么问题?

PS:txtMessage是textarea

2 个答案:

答案 0 :(得分:10)

  • .text()获取元素的内部文本,因此在获取值时,它不是一个合适的用法。
  • .val()获取输入类型元素的value属性,应该是用于检索/设置值的元素(此包括 <textarea>元素,即使值在标签之间)。

问题不是“为什么 .text()在Chrome中工作?”,这是“为什么 .text()在IE中?”。坚持使用.val()作为输入。

答案 1 :(得分:1)

.val()函数应该用于获取表单元素的值,例如inputselecttextarea,...