我想将HTML标记转义为实体名称,从textarea中获取文本,然后将结果放入第二个textarea中,使得:

<mytag>

变成
&lt;mytag&gt;

我正在使用.html().text()来回确定。我的问题是处理textarea元素,该元素的行为有些不同。

如果我先将文本放入div,它会很好地工作:
var htmlStr = $('#textareaInput').val(); //doesn't like .html() .text() ?
$('#dummy').text(htmlStr); // an object to hold the text that supports .html()
$('#textareaOutput').val($('#dummy').html());

但是我想做些更简单的事情:
var htmlStr = $('#textareaInput').val();
$('#textareaOutput').val($(htmlStr).html());

我想我的问题是我不了解如何在不操作DOM元素的情况下操纵jQuery对象(如字符串)-因为现在我正在使用div,因为它具有.html()方法。

任何帮助都太棒了!

谢谢。

最佳答案

尝试

var htmlStr = $('#textareaInput').val();
$('#textareaOutput').val($('<div/>').text(htmlStr).html());

07-28 10:46