1

好奇的问题。我需要清空 a<textarea>然后用其他内容替换它。如果没有手动输入任何内容,JSFiddle 中的测试将起作用,但只要在文本区域中手动输入任何内容,这些方法就会停止工作。

http://jsfiddle.net/ecFjH/

我知道我可以简单地使用.val('New stuff here'),但是我需要 HTML 实体,例如&gt;and&lt;以显示为<and >,而 .val() 无法完成。

4

2 回答 2

3

听起来您真正的问题是您想要解码 HTML 实体以在文本区域中呈现它们。您可以使用以下方法来执行此操作:

var content = 'text &gt; HTML';
$('#myText').val($('<div/>').html(content).text());

但是,您应该只对受信任的内容执行此操作。如果 textarea 的内容不是由您创建的,则它可能包含恶意 HTML,您在页面上创建这些内容是不安全的。

有关更详尽的示例,请参阅基本相同问题的答案;请注意,接受的答案重复上述内容,但链接的答案更安全。

于 2013-08-13T21:57:39.570 回答
1

您的文本区域没有 html。使用$('#myText').val('Button 2 was pressed');它会删除以前的内容并输入文本“按钮 2 被按下”。

在这里检查(用 < 和 > 更新)

于 2013-08-13T21:54:09.973 回答