附加CDATA标记时编码的HTML标记



在我的页面中,有一个div,我必须从javascript显示html。因此,在javascript中,我附加了CDATA标签,以便html显示为数据。以下是我使用

的代码
var htmlCode = '<h>testing html</h>';
htmlCode = '<![CDATA[' + htmlCode+ ']]>';
$('myDiv').html(htmlCode);

这实际上显示testing html]]>作为最后的>被转换成&gt;时,我将它分配给div的html。任何想法如何克服这个问题

Thanks in advance

CDATA用于XML文件。这意味着其中的内容被视为文本。jQuery的.html()<![CDATA[<h转换为<!--[CDATA[<h-->,这是一个注释。然后,它忽略关闭的</h>标记,因为缺少打开的标记。因此,它显示testing html]]>

如果您想将HTML显示为文本,只需使用.text()而不是.html()。它会为你转义,这样它就不会被浏览器解析。

var htmlCode = '<h>testing html</h>';
$('#myDiv').text(htmlCode);

EDIT:您说您想要解析HTML ,那么只需使用.html

var htmlCode = '<h>testing html</h>';
$('#myDiv').text(htmlCode);

CDATA不需要

最新更新