在我的页面中,有一个div,我必须从javascript显示html。因此,在javascript中,我附加了CDATA标签,以便html显示为数据。以下是我使用
的代码var htmlCode = '<h>testing html</h>';
htmlCode = '<![CDATA[' + htmlCode+ ']]>';
$('myDiv').html(htmlCode);
这实际上显示testing html]]>
作为最后的>
被转换成>
时,我将它分配给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
是不需要