javascript - 在 XSL 转换期间在字符串中保留注释符号

标签 javascript xml xslt

我的 xsl 文件中有以下代码

<script type="text/javascript">
    var div = document.createElement("div");
    div.innerHTML = "<!--[if lt IE 9]><i></i><![endif]-->";
</script>

改造后我变得空了div.innerHTML

<script type="text/javascript">
    var div = document.createElement("div");
    div.innerHTML = "";
</script>

如何保存<!--[if lt IE 9]><i></i><![endif]-->在输出 html 文件中?

最佳答案

您可以尝试简单地对 < 进行编码字符以及 <xsl:text> block :

<script type="text/javascript">
<xsl:text disable-output-escaping="yes">
    var div = document.createElement("div");
    div.innerHTML = "&lt;!--[if lt IE 9]><i></i>&lt;![endif]-->";
</xsl:text>
</script>

或者使用 CDATA block :

<script type="text/javascript">
<xsl:text disable-output-escaping="yes">
<![CDATA[
    var div = document.createElement("div");
    div.innerHTML = "<!--[if lt IE 9]><i></i><![endif]-->";
]]>
</xsl:text>
</script>

或者也许您甚至可以使用 <xsl:comment>节点,像这样

<script type="text/javascript">
    var div = document.createElement("div");
    div.innerHTML = "<xsl:comment><xsl:call-template name="iecc"/></xsl:comment>";
</script>

<xsl:template name="iecc">[if lt IE 9]>&lt;i>&lt;/i>&lt;![endif]</xsl:template>

关于javascript - 在 XSL 转换期间在字符串中保留注释符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21533059/

相关文章:

c# - 使用 XDocument.Parse 将所有内容加载到一个元素中

xml - 来自命令行的 Saxon-HE 9.6 的换行符分隔输出

xml - 使用 XSL 生成 xml 属性值

javascript - 使用 jQuery 从 URL 获取最后一个字符串

java - 未调用 JQuery

c - 使用 libxml2 传递指针来搜索 xmlTree

css - 如何在 xsl : when test= statement, 中调用特定的 CSS 类名以便测试证明是正确的?

javascript - 无法在 Express.js 上的 Passport.js 中访问 req.user

javascript - 获取对象类型的名称

xml - 如何根据属性的存在有条件地将参数传递给 NAnt exec 任务?