如何在Haskell Blaze或Hamlet中将class_添加到preEscapedToHtml?

时间:2017-08-09 19:23:21

标签: haskell yesod hamlet

如何将课程添加到preEscapedToHtml

renderHtml $ preEscapedText "<div>a</div>" ! class_ "c"
"<div>a</div>"

还是由hamlet模板生成的HTML?

然而这有效:

renderHtml $ H.div "a" ! class_ "c"
"<div class=\"c\">a</div>"

1 个答案:

答案 0 :(得分:0)

Blaze中HTML标记的最准确类型是H.divpreEscapedText "<title>Example</title><p>HTML document" ! class_ "c"属于那种类型,不是吗?无论如何Tag应该做什么?属性只能添加到标记中,而不能添加到HTML文档或片段中。因此,您应该使用HTML类型保留标记,直到您添加了所需的所有属性,并准备好将多个标记组合到HTML片段或文档中。如果您需要跟踪并行生成的多个节点,则可以在对其进行修改时将它们存储在列表,元组或记录中。然后在最后合并到print([k for k,v in a.items() if v == b])