我仍然掌握了Jade。以下标记有效,但它会导致元素在两条单独的行上呈现。我希望链接和p.some_classname
文本在同一行上呈现,但不能将p.some_classname
转换为超链接。
for elem in elems
a(href="/foo/#{var1}/bar/#{var2}").baz.i.icon-cog
p.some_classname= elem.id_1 + ' ' + elem.id_2
这可能吗?
答案 0 :(得分:3)
如果我正确理解您的请求,您希望链接和文本位于同一行,每行一行。如果是这样,你只需要让段落包装文本并使用span:
for elem in elems
p.some_classname
a(href="/foo/#{var1}/bar/#{var2}").baz.i.icon-cog
span= elem.id_1 + ' ' + elem.id_2
这将生成(对于每个元素):
<p class="some_classname"><a href="/foo..." class="baz i icon-cog"><span>{val for id_1} {val for id_2}</span></p>
或者,您可以进一步简化并完全跳过范围:
for elem in elems
p.some_classname
a(href="/foo/#{var1}/bar/#{var2}").baz.i.icon-cog
| #{elem.id_1} #{elem.id_2}
刚刚使用node测试,并且根据你想要的最终标记工作。 HTH。
答案 1 :(得分:0)
据我所知,没有办法有选择地删除任何一对行之间的换行符。但是,如果在没有--pretty
或-P
选项的情况下运行jade,则整个输出将折叠为一行。
答案 2 :(得分:0)
加上上述响应,您还可以分别使用ID和CSS类:
p
| #[ObjectId1.class1 SomeText ]
| #[ObjectId2.class2 #{jsonObject.attribute}]