插入的jquery HTML呈现为原始文本

Ton*_*ony 8 jquery

我有奇怪的情况,我有那个字符串

lorem<br/><br/>ipsum<br/><br/>a<br/>b<br/><br/>c
Run Code Online (Sandbox Code Playgroud)

这是一个div:

$('div.desc').html(that_string);
Run Code Online (Sandbox Code Playgroud)

要么

$('div.desc').html($.parseHTML(that_string));
Run Code Online (Sandbox Code Playgroud)

但在这两种情况下,它都被渲染为原始文本:

lorem<br/><br/>ipsum<br/><br/>a<br/>b<br/><br/>c
Run Code Online (Sandbox Code Playgroud)

代替

lorem

ipsum

a
b

c
Run Code Online (Sandbox Code Playgroud)

为什么?

ade*_*neo 17

你可以通过一点jQuery解析来欺骗它

$('div.desc').html( $('<div />').html(that_string).text() );
Run Code Online (Sandbox Code Playgroud)

小提琴


h0u*_*sni 11

$('div.desc').html(decodeURI(that_string));
//OR
$('div.desc').html($.parseHTML(decodeURI(that_string)));
Run Code Online (Sandbox Code Playgroud)

decodeURI()功能将字符串解码,所以它会输出<,>等等.