7

我想将 HTML 标记转义为实体名称,从 a 中获取文本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()方法。

任何帮助都会很棒!

谢谢。

4

1 回答 1

5

尝试

var htmlStr = $('#textareaInput').val(); 
$('#textareaOutput').val($('<div/>').text(htmlStr).html());
于 2010-07-28T13:22:21.210 回答