好奇的问题。我需要清空<textarea>
,然后将其替换为其他内容。如果没有手动输入,JSFiddle中的测试将起作用,但只要手动输入textarea中的任何内容,方法就会停止工作。
我知道我只能.val('New stuff here')
,但我需要>
和<
等HTML实体显示为<
和>
, .val()无法完成。
答案 0 :(得分:3)
听起来你真正的问题是你要解码HTML实体以在文本区域中呈现它们。您可以使用以下命令执行此操作:
var content = 'text > HTML';
$('#myText').val($('<div/>').html(content).text());
但是,只应对受信任的内容执行此操作。如果textarea的内容不是由您创建的,则可能包含恶意HTML,您将不安全地在页面上创建。
有关更全面的示例,请参阅this answer基本相同的问题;请注意,接受的答案重复上述内容,但相关答案更安全。
答案 1 :(得分:1)
您的文字区域没有HTML。只使用$('#myText').val('Button 2 was pressed');
将删除之前的内容,然后按下#34;按下按钮2&#34;。
检查 here (使用&lt;和&gt;更新)