javascript - 如何在jquery中用CDATA标签包装一些html?

标签 javascript jquery html cdata html-sanitizing

如何将一些 html 包装在 CDATA 标记的元素中,以便可以说它变得“无菌”...

我已经尝试过了...

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

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

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

谢谢。

最佳答案

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

  1. 编写 XHTML。
  2. 将其作为 Content-Type: application/xhtml+xml 提供,这样浏览器就不会通过 HTML 解析器推送它。

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

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

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

关于javascript - 如何在jquery中用CDATA标签包装一些html?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21706039/

相关文章:

javascript - 如何在 WYSIWYG 编辑器中设置 block 引号的样式

javascript - 将 option 标签的值添加到 div

php - 使用scrollTop显示滚动的像素

javascript - TypeError : value. animate 不是一个函数

css - Internet Explorer 10 不对内联元素应用 Flexbox

javascript - 在javascript中重新加载后保存变量值

javascript - 打开时模态内的模态,仅先关闭 - Bootstrap

javascript - 如何将表单输入的值获取到变量中

javascript - 从超链接调用函数时的 this 关键字

Javascript 移动网站重定向问题