如何检索html CDATA部分中的文本?

时间:2015-03-06 17:47:04

标签: javascript html cdata

我在HTML中有以下script元素部分:

<script type="text/x-markdown"><![CDATA[
# hello, This is Markdown Script Demo]]></script>

当我尝试通过scripttag.innerHTML检索内部内容时,会返回包含![CDATA[ ... ]]>部分的文字

是否有更有效的方法一次检索CDATA部分的内部部分,而不是应用正则表达式从接收的innerHTML数据中删除它?

2 个答案:

答案 0 :(得分:1)

我不认为你只能在CDATA内部进行检索,因为它不是标签而是纯文本,当你获得标签的innerHTML时,你会得到一切作为字符串,所以regexp是只有这样我才能看到你内心会发生什么。

答案 1 :(得分:0)

CDATA是一种XML概念。这是一种指定文本部分的方法,其中看起来像标记或特殊XML字符的东西被视为纯文本。它基本上等同于在CDATA部分的任何地方转义<&lt;等。

如果文档具有HTML文档类型,则CDATA不会收到任何特殊处理,只是更多字符。如果文档具有XHTML文档类型,那么您将能够按原样检索CDATA部分,而不再需要。