如果这行代码如何仅为IE6显示标题(不作为HTML注释)
<a title="" href="#">some text</a>
在xsl文件中?
以下选项不起作用:
<a <![CDATA[[if IE 6]>title="hi"<![endif]]]> href="#">some text</a>
<a <![if IE 6]>"title="hi"<![endif]> href="#">some text</a>
我知道应该在90年代问这个问题:)
还有其他选择吗? 谢谢。
答案 0 :(得分:3)
我不知道HTML评论中给出的任何条件IE构造。要在XSL中插入注释,请使用<xsl:comment>
:
<xsl:comment><![CDATA[[if IE 6]>
Special instructions for IE 6 here
<![endif]
]]>
</xsl:comment>
CDATA在此处跟随同一行的<xsl:comment
有一个特定原因。 IE不识别这些注释,除非字符<!--[if IE 6]>
在一行上是连续的。其余部分,包括endif
,显然可以分散到后续行。
但是,由于您无法在标记的中间放置HTML注释,因为您尝试这样做。因此,您必须提供整个<a>
代码的备用版本:
<xsl:comment><![CDATA[[if IE 6]>
<a title="hi" href="#">some text</a>
<![endif]]]>
</xsl:comment>
<xsl:comment><![CDATA[[if gt IE 6]>
<a href="#">some text</a>
<![endif]]]>
</xsl:comment>
但请注意MS link:
重要从Internet Explorer 10开始,标准模式不再支持条件注释。
<!--[if IE 6]>
Special instructions for IE 6 here
<![endif]
-->
在IE11下以IE9仿真模式进行测试。
答案 1 :(得分:0)
我建议你(如果你在你的页面中使用jQuery)你在IE中添加一个jquery外部文件来编辑你的A标签。
OR
您可以通过某些服务器端脚本(例如PHP)设置xsl变量,以便发现浏览器类型并根据此变量进行检查测试。
不幸的是,XSLT更多地依赖于使用的引擎,所以你可以使用一些基于引擎的特殊功能,或者使用其他方式。
享受您的代码!