0

我有这个 html 代码。我希望它转换为haml格式。-->

    <script type="text/javascript">
        window.jQuery || document.write("<script src='assets/jquery-2.0.3.min.js'>"+"<"+"/script>");
    </script>

    <!--<![endif]-->

这就是我将其转换为haml的方式。

/ [if !IE]>
  :javascript
    window.jQuery || document.write("<script src='assets/jquery-2.0.3.min.js'>"+"<"+"/script>");
/ <![endif]

但我得到了这个错误非法嵌套:嵌套在已经有内容的标签内是非法的。知道为什么吗?或者将此代码转换为haml的正确方法是什么?

4

1 回答 1

0

Haml包括对IE条件注释的支持,语法是/ [cond],没有结束>

在你的第一行:

/ [if !IE]>

最后一个>被视为内容,您还将:javascript过滤器嵌套为内容。这就是您收到nesting within a tag that already has content is illegal错误的原因。

但是,您不能以这种方式使用!IE条件,您最终会得到一个所有浏览器都会忽略的评论。你不需要这样的东西,使用文字 HTML:

<!--[if !IE]> -->
:javascript
  window.jQuery || document.write("<script src='assets/jquery-2.0.3.min.js'>"+"<"+"/script>");
<!-- <![endif]-->
于 2013-07-16T11:51:01.360 回答