从html中隔离CDATA值

时间:2014-08-18 19:11:09

标签: javascript html

我在网格中有一个字段,其中包含以下值:"{<dbid>{D7E362F0-2333-4BD0-8159-85E6E26FF6B0}<dbid>}"(请参阅如何在浏览器中解析它),因此您看不到xml标记括号,下面看到的值是逐字的直接从数据库。

通过像这样的ajax加载

<cell style="margin-right:4px;"><![CDATA["{<dbid>{D7E362F0-2333-4BD0-8159-85E6E26FF6B0}<dbid>}"^javascript:OpenAlarmDetail(""{<dbid>{D7E362F0-2333-4BD0-8159-85E6E26FF6B0}<dbid>}"");^_self]]></cell>

克拉用于dhtmlx创建超链接。虽然我使用dhtmlx但我没有为dhtmlx标记它,因为我认为这个问题不一定是特定于dhtmlx的。

值传输正常,但是当在网格中显示时标签消失了,当我要求单元格的值时,它现在看起来像这样:

"{<dbid>{3C59E779-57C0-4F48-900E-E2A256E37D2F}<dbid>}"</dbid></dbid>^javascript:OpenAlarmDetail(""{<dbid>{3C59E779-57C0-4F48-900E-E2A256E37D2F}<dbid>}"");^_self

即。它现在附有关闭标签。

如何隔离我的值以防止它被html进一步解析,我认为双引号应该可以解决问题。

1 个答案:

答案 0 :(得分:2)

CDATA是一种XML“功能”,当您的内容被解析为HTML时,它没有任何意义。

如果此处的唯一目的是让浏览器不要解释“标签”,则将<>写为&lt;&gt;