Javascript textarea.val()设置和获取

Javascript textarea.val()设置和获取,javascript,jquery,html,Javascript,Jquery,Html,最初,我的文本区域的值为Enter Comment。。。通过输入注释设置… 我的注意力集中在: $(“textarea.commentTextArea”).live('focus',function(){ 如果($(this).val()=“输入注释…”){ $(this.val(“”); } }); 还有一个.blur()类似于: $(“textarea.commentTextArea”).live('blur',function(){ 如果($(this.val()=“输入注释…”| |$(

最初,我的文本区域的值为Enter Comment。。。通过输入注释设置…

我的注意力集中在:

$(“textarea.commentTextArea”).live('focus',function(){
如果($(this).val()=“输入注释…”){
$(this.val(“”);
}
});

还有一个.blur()类似于:

$(“textarea.commentTextArea”).live('blur',function(){
如果($(this.val()=“输入注释…”| |$(this.val()==”){
$(此).text(“输入注释…”);
$(this.parent().addClass(“hide”);
$(this.parent().hide();
}
});

但是,在我在.blur()函数中设置了val,并尝试使用.val()检索值之后,它总是返回“Enter Comment…”,而不是用户输入的文本。我在这里不知所措

谢谢你的帮助

编辑-我有一个更深入的“文本区域”选择器,这不是问题所在。如果选择器返回null,则不会返回“entercomment”。谢谢你的努力。
my.focus()函数也是如此。我只是想展示正在发生的事情的核心

在第二条语句中,“textarea”一词周围没有引号。此外,如果用户再次返回文本区域进行编辑,焦点事件将删除用户输入的任何内容

这样做可以解决第二个问题(与在模糊事件中使用的技巧相同):


我的第一个猜测是
$(textarea)
返回null——我猜它应该是
$(“textarea”)
。我认为这很好。我用试用了一下,效果很好。

我想这是因为你错过了
$(textarea).blur()方法的引号


我已经创建了一个有效的。对不起,“textarea”只是用来表示它是用于textarea的。我有一个更深入的选择器,所以不是这样。my.focus()函数也是如此。我只是想展示正在发生的事情的核心。您发布的简单代码(包括我和其他人提到的更正)似乎工作正常。您可能需要发布更完整的代码,以便我们查看。通常,在动态创建元素时,您会使用live()。可能是因为您有多个文本区域,而选择器会将它们全部旋转?由于val()函数只对返回的第一个项目有效,因此您可能无法获取所需的项目。当我获取textarea的值时,我使用了更深入的选择器,数据属性为.$(“textarea.commentTextArea[data_attribute='attribute_value'])。val()。您确定选择器只返回一个元素吗?它是你期望的元素吗?
focus()
函数应该检查它是否仍然显示“输入注释”,否则它将删除用户编写的内容…这对我来说很有用…你使用的浏览器是什么?在Firefox、Chrome、IE中都是一样的。
$("textarea").focus(function() { if ($(this).val() == 'Enter Comment...') $(this).val(''); });