0

在我的页面中,有一个 div,我必须在其中显示来自 javascript 的 html。所以在 javascript 中,我附加了 CDATA 标记,以便将 html 显示为数据。以下是我使用的代码

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

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

提前致谢

4

1 回答 1

3

CDATA在 XML 文件中使用。这意味着里面的内容被视为文本。jQuery.html()变成<![CDATA[<h<!--[CDATA[<h-->这是一个注释。然后它会忽略结束</h>标签,因为缺少开始标签。因此,它显示testing html]]>.

如果要将 HTML 显示为文本,只需使用.text()而不是.html(). 它会为您转义它,以便浏览器不会解析它。

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

编辑:您说您希望解析HTML ,然后使用.html.

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

在这两种情况CDATA都不需要。

于 2013-01-08T15:57:14.367 回答