2014-02-11 41 views
0

你如何包装一些HTML的元素在CDATA标记,以便它成为“消毒”这么说......如何用jQuery中的CDATA标签包装一些HTML?

我试过......

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

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

第一个包装它保存html实体,所以它不是CDATA标签。而第二个不起作用。

谢谢。只有

+1

怎么样'的.text()' – Johan

+1

那你想通过它来完成*“”消毒'“*? –

+0

无论您在那里尝试什么,CDATA都属于XML,而不属于HTML,尤其不属于HTML5。你不需要在这里“消毒”任何东西 – Torben

回答

2

浏览器支持CDATA标记在XHTML,所以你需要:

  1. 写XHTML。
  2. 将其作为Content-Type: application/xhtml+xml,这样浏览器无论如何都不会通过HTML解析器推送它。

(我只在Chrome上测试过以上,你可以see the results)。

你会更好,让浏览器把它当作文本而不是HTML:

$(this).text($(this).html()); 
相关问题