将文本添加到 textarea - Jquery
Posted
技术标签:
【中文标题】将文本添加到 textarea - Jquery【英文标题】:Add text to textarea - Jquery 【发布时间】:2011-10-26 21:30:14 【问题描述】:如何将 DIV 中的文本添加到文本区域?
我现在有这个:
$('.oquote').click(function()
$('#replyBox').slideDown('slow', function()
var quote = $('.container').text();
$('#replyBox').val($('#replyBox').val()+quote);
// Animation complete.
);
);
【问题讨论】:
【参考方案1】:只需append()
文本节点:
$('#replyBox').append(quote);
http://jsfiddle.net/nQErc/
【讨论】:
这不会将文本添加到文本区域中,而是添加到文本区域之外。 不,它没有:) 查看代码并检查元素。你可能会想到after()
使用 .val() 而不是 .append() 否则你会遇到问题。
@ermenkoff 非常正确。我遇到过.append()
有效的案例,还有其他一些案例,因为没有明显的原因,它被简单地忽略了。 Felix Kling 使用.val()
的答案是稳定的,应该首选!
append()
仅在您未更改 textarea 的内容之前(例如通过键入)才有效!!【参考方案2】:
应该可以。最好将函数传递给val
:
$('#replyBox').val(function(i, text)
return text + quote;
);
这样可以避免搜索元素并调用val
两次。
【讨论】:
@AlienWebguy:比$('#replyBox').val($('#replyBox').val()+quote);
更好,因为它不搜索元素并调用val
两次。以上是关于将文本添加到 textarea - Jquery的主要内容,如果未能解决你的问题,请参考以下文章
Angularjs单元测试-将文本添加到textarea时禁用ng的不起作用
如何将可关闭的文本标签添加到 Textarea Kendo | jQuery