在设置文本区域的内容时防止jQuery转义

时间:2013-02-07 15:50:49

标签: jquery

我将一些已经转义的文本放到页面上,然后使用带有该文本的jQuery设置textarea的内容。但它又被逃脱了。我不想逃避进入页面的文本,因为它是来自数据库的用户输入文本。

<script type="text/javascript">
jQuery('#load-template-link').click(function (event) {
    var content = jQuery('#template-' + jQuery('#template_selector option:selected').val());

    if (content.length > 0) {
        jQuery('#text-area').val(content.html());
    }

});
</script>

{% for template in templates %}
<script type="text/template" id="template-{{ template.id }}">{{ template.body }}</script>
{% endfor %}

2 个答案:

答案 0 :(得分:0)

如果按escape表示将html转换为实体,那么.html函数正在执行此操作。使用.text

> $("<div>&></div>").html()
"&amp;&gt;"
> $("<div>&></div>").text()
"&>"

答案 1 :(得分:0)

您尝试使用text()而不是html()?

content.text()