jQuery - 获取包含HTML标记的textarea的值

时间:2014-10-14 17:52:16

标签: javascript jquery html richtext

编辑:

使用$.text()按预期工作,问题来自其他地方。我不会删除这个问题以备将来参考,万一有人遇到 - 看似相同的问题。另请查看已接受的解决方案答案。


我正在开发一个富文本编辑器,可以从textarea读取内容,并使用该内容创建一个可编辑的div

问题在于我似乎无法从textarea获取HTML标记,只能使用纯文本。

HTML代码

<textarea id="rtf-1">
    <h2>Big monster&nbsp;</h2><p>Kosova long crowing rooster test.</p>
</textarea>

Javascript代码

var html = $('#rtf-1').html();

无法弄清楚原因,但var html总是&#39; Big monster Kosova长时间公鸡测试。&#39;,标签在这个过程的某个地方被暗杀。当我尝试使用$.text()$.val()时会发生同样的情况。

我需要var html<h2>Big monster&nbsp;</h2><p>Kosova long crowing rooster test.</p>。关于如何做到这一点的任何建议?


感谢您阅读我的回答。我不是在寻找除了textarea内容(值)本身之外的初始化富文本编辑器的替代方法,而且我当然也不会寻找已经存在的RTF编辑器,比如TinyMCE。如果可以,请回答上面的问题。

1 个答案:

答案 0 :(得分:1)

textarea个元素实际上并不包含HTML,因此要获得相当于代表HTML的字符串,您需要使用.text()。如,

$('#render-to-me').html($('#rtf-1').text());

这是一个JSFiddle来演示:http://jsfiddle.net/44xjew92/