1

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

<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 %}
4

2 回答 2

0

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

content.text()
于 2013-02-07T15:55:58.307 回答
0

如果escape您的意思是将 html 转换为实体,那么它就是.html执行此操作的函数。使用.text

> $("<div>&></div>").html()
"&amp;&gt;"
> $("<div>&></div>").text()
"&>"
于 2013-02-07T15:53:37.933 回答