innerhtml忽略HTML转义字符

时间:2013-11-08 21:10:27

标签: javascript jquery html

我有像

这样的div
<div id="first"></div> 

我尝试将内容(我从后端html转义中获取)更改为

$( "#first" ).html( "Some text <div style=&#34;font-size:150%&#34;>This text should look bigger</div>" );

---------- ------------ OR

$( "#first" ).html( "Some text <div style=&quot;font-size:150%&quot;>This text should look bigger</div>" );

浏览器中的输出是

<div id="first">Some text <div style="&quot;font-size:150%&quot;">This text should look bigger</div></div>

这不是应用我想要应用的样式,因为我在DOM中看到过两次“(引用)。我还尝试了 document.getElementById 的经典方法,但没有任何成功。

提前感谢任何想法。

1 个答案:

答案 0 :(得分:1)

您可以使用此功能解码转义文本:

function htmlDecode(value) {
    if (value) {
        return $('<div />').html(value).text();
    } else {
        return '';
    }
}

在将其写入页面之前,您应该通过此函数从后端传递转义的HTML。