我刚刚开始采用Haml,我遇到了一个问题,我似乎找不到解决方案。这可能只是因为我不知道在我的搜索中使用正确的html术语,但这导致我在这里发帖。
如何在haml中编写这样的一行代码:
<ul id="drop" data-dropdown-content class="f-dropdown">
或查看此链接以查看完整的上下文。https://gist.github.com/czepluch/7817008
发布于 2013-12-06 01:43:50
我猜这里有几个问题--创建布尔型属性和带有-
的属性。
为了获得一个boolean attribute (即属性不带值出现),您可以使用true
作为您的Haml中的值。您还需要确保格式为html4
或html5
(默认值为html5
)。
不能使用无引号的符号作为属性值,因为连字符将被解释为减号,因此需要使用字符串。
所以将这些组合在一起,你想要的Haml是这样的:
%ul#drop.f-dropdown{"data-dropdown-class" => true}
这会产生:
<ul class='f-dropdown' data-dropdown-class id='drop'></ul>
Haml还支持使用散列的custom data attributes,因此您可以这样做:
%ul#drop.f-dropdown{:data => {"dropdown-class" => true}}
也会产生同样的结果。在这种情况下,这不会有太大帮助,当您有多个data-*
属性时,它更有用--您可以将它们放在一个散列中,并且您只需要指定一次data
前缀。
https://stackoverflow.com/questions/20414077
复制