首页 文章

如何在Elm中创建HTML数据属性?

提问于
浏览
32

我需要使用自定义“data- *”属性标记我的Elm.Http元素,例如:

<tr data-row="1">...</tr>

我尝试过以下方法:

import Html exposing (..)
import Html.Attributes exposing (..)
import Json.Encode as JsEncode

view ... =
  tr [ property "data-row" (JsEncode.string (toString 1)) ]

但这没有任何作用 . 有人知道吗?

我认为问题是Elm实际上是在设置JavaScript DOM属性,所以我真的想以某种方式调用element.dataset.row =“1” .

背景是我需要为我的事件处理程序向jQuery公开一些数据,因为Elm事件库缺少一些我需要的功能,例如条件化的preventDefault和表单序列化 . 还有其他方法可以通过DOM提供数据,但data- *属性是目前最直接的方法 .

1 回答

  • 46

    您可以改用attribute函数 .

    view ... =
        tr [ attribute "data-row" "1" ]
    

相关问题