如何在jquery中包含一些带有CDATA标记的html?

时间:2014-02-11 15:29:01

标签: javascript jquery html cdata html-sanitizing

如何将一些html包装在CDATA标签的元素中,以便它变得“消毒”,可以这么说......

我试过......

$(this).html( "<![CDATA[" + $(this).html() + "]]>" );

$(this).wrap("CDATA");

第一个将它包装在保存html实体中,因此它不是CDATA标记。第二个不起作用。

感谢。

1 个答案:

答案 0 :(得分:2)

浏览器仅支持XHTML中的CDATA标记,因此您需要:

  1. 编写XHTML。
  2. 将其作为Content-Type: application/xhtml+xml投放,以便浏览器无论如何都不会通过HTML解析器。
  3. (我只在Chrome上测试了上述内容,您可以see the results)。

    最好让浏览器将其视为文本而不是HTML:

    $(this).text( $(this).html() );