我将一些已经转义的文本放到页面上,然后使用带有该文本的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 %}
答案 0 :(得分:0)
如果按escape
表示将html转换为实体,那么.html
函数正在执行此操作。使用.text
:
> $("<div>&></div>").html()
"&>"
> $("<div>&></div>").text()
"&>"
答案 1 :(得分:0)
您尝试使用text()而不是html()?
content.text()