如何在Jade中简洁地创建内联元素

62

我喜欢将所有的内联元素放在一行。

<ul>
  <li><a>click<span>here</span><strong>!</strong></a></li>

想知道是否有比这种方式更好的方法在Jade中创建内联元素:

ul
  li 
    a(href="#") click 
      span here
      strong !

这个方法有些接近了,但我不确定如何添加标签而不会破坏行。

ul
  li: a(href='#') click
    span ...

显然这不是一个非常严重的问题,但我不能使行内元素处于同一行,这有点让人烦恼。感谢您的帮助。

3个回答

128

自1.0版本以来,jade支持内联标签:

#[tag(attribute='value') inner stuff]

在你的情况下,那将是:

ul
  li #[a(href="#") click  #[span here #[strong !]]]

这比上面的语法简单多了。谢谢!我已经找了一段时间了! - nwalton
1
这应该是最佳答案。 - Alex Mund
绝对没错。可惜Sublime的Jade语言没有突出显示这个语法... - Matt Fletcher
2
真是太遗憾了,因为Atom的确可以做到。 - JP de la Torre

30
今天我也遇到了这个问题。我在Jade中使用管道符解决了这个问题。以下是我的示例,将strong标签包装在p元素中。
p.some-class
    strong This Renders Strong                          
    |This renders normal

啊,我已经找了很久类似的东西了。谢谢。 - JVG
1
这是更好的答案吗?非常适合我的需求。 - DrHall
3
请注意,不会在“Strong”和“This”之间留有空格:...Strong</strong>This... - Tim

17

我曾经也遇到过这个问题,唯一的解决方法是使用HTML。

ul
  li: a(href='#') click<span>here</span><strong>!</strong>

在将Jade渲染为HTML后,<>将变成&lt;&gt; - AGamePlayer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接