Javascript jQuery包含数据的空文本区域

Javascript jQuery包含数据的空文本区域,javascript,jquery,Javascript,Jquery,奇怪的问题。我需要清空,然后用其他内容替换它。如果没有手动键入任何内容,JSFIDLE中的测试将起作用,但是一旦手动在textarea中输入任何内容,这些方法将停止工作 我知道我只需要.val('New stuff here'),但是我需要像和这样的HTML实体显示为,这是.val()无法完成的。您的文本区域没有HTML。只需使用$('#myText').val('按钮2被按下')将删除以前的内容并显示文本“按钮2已按下” 选中(更新为)您的文本区域没有html。只需使用$('#myText'

奇怪的问题。我需要清空
,然后用其他内容替换它。如果没有手动键入任何内容,JSFIDLE中的测试将起作用,但是一旦手动在textarea中输入任何内容,这些方法将停止工作


我知道我只需要
.val('New stuff here')
,但是我需要像
这样的HTML实体显示为
,这是.val()无法完成的。

您的文本区域没有HTML。只需使用
$('#myText').val('按钮2被按下')将删除以前的内容并显示文本“按钮2已按下”


选中(更新为

您的文本区域没有html。只需使用
$('#myText').val('按钮2被按下')将删除以前的内容并显示文本“按钮2已按下”


选中(更新为<和>)

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

var content = 'text &gt; HTML';
$('#myText').val($('<div/>').html(content).text());
var content='text HTML';
$('#myText').val($('').html(content.text());
但是,您只能对受信任的内容执行此操作。如果textarea的内容不是由您创建的,它可能包含恶意HTML,您可能会在页面上创建恶意HTML


要获得更全面的例子,请看本质上相同的问题;请注意,接受的答案重复上述内容,但链接的答案更安全。

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

var content = 'text &gt; HTML';
$('#myText').val($('<div/>').html(content).text());
var content='text HTML';
$('#myText').val($('').html(content.text());
但是,您只能对受信任的内容执行此操作。如果textarea的内容不是由您创建的,它可能包含恶意HTML,您可能会在页面上创建恶意HTML


要获得更全面的例子,请看本质上相同的问题;请注意,接受的答案重复上述内容,但链接的答案更安全。

为什么不只是键入“”而不是?我认为textarea不会在里面渲染任何东西。它只是纯文本。还有,手工打字和手工打字的区别是什么?这不一样吗?使用val很好,我只是在您的示例中尝试了它。可能的重复(视为)。@putvande因为插入的数据来自数据库,所以我不能只键入
为什么不键入“”?我认为textarea不会在里面渲染任何东西。它只是纯文本。还有,手工打字和手工打字的区别是什么?这不一样吗?使用val很好,我只是在您的示例中尝试了它。可能的重复(视为)。@putvande因为插入的数据来自数据库,所以我不能只键入
这很有效,谢谢。我想你是对的,我真正想要的是HTML编码/解码,而不是无法替换的问题。谢谢你的链接。这很有效,谢谢。我想你是对的,我真正想要的是HTML编码/解码,而不是无法替换的问题。谢谢你的链接。