【问题标题】:Jade content following self closing tag自闭标签后的翡翠内容
【发布时间】:2015-04-21 18:58:16
【问题描述】:

我正在将一些 HTML 从预先存在的应用程序转换为 Jade。我有一个看起来像这样的 HTML 块:

<div class="checkbox">
  <label>
    <input type="checkbox" name="data[day][sunday]" value="sunday">
  Sunday
  </label>
</div>

这个对应的翡翠是什么?理想情况下,它看起来像这样:

div(class="checkbox"):
  label 
    input(type="checkbox" name="data[day][sunday]" value="sunday") 
    Sunday

但是因为input是一个自闭标签,我不能跟在它后面加上文字“Sunday”

我用另一种完全符合我需要的方式编写这个没有问题,但我想知道如何完全解决这个问题。

谢谢!

【问题讨论】:

    标签: html pug


    【解决方案1】:

    你可以使用jade中的|来解决这个问题。

    | 后面的任何文本都将被解释为父级中的文本

    div(class="checkbox"):
      label 
        input(type="checkbox" name="data[day][sunday]" value="sunday") 
        | Sunday
    

    你也可以像这样使用非自闭标签

    div
      div
        span hello there
      | and plain text
    

    会产生这样的html

    <div>
      <div>
        <span>hello there</span>
      </div>
      and plain text
    </div>
    

    请记住,在 Jade 中直接编写 HTML 是完全有效的,您也可以这样解决这个问题。

    div(class="checkbox"):
      label.
        <input type="checkbox" name="#{data[day][sunday]}" value="sunday"> 
        Sunday
    

    Jade 中标签后面的. 会将所有内容视为文本。

    【讨论】:

    • 感谢您的回答效果很好!我现在不在我的电脑前进行测试,但我想如果我想利用 Jade 的块扩展,我可以使用相同的原理?那看起来怎么样?我的猜测是:div(class="checkbox"): label: input(type="checkbox" name="data[day][sunday]" value=") | Sunday
    • @MichaelHamilton 是的,无论您使用哪种类型的标签,| 都有效。我已经编辑了我的答案以反映这一点
    猜你喜欢
    • 2014-03-19
    • 2012-12-17
    • 1970-01-01
    • 2010-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-23
    相关资源
    最近更新 更多