我需要在我的 Elm.Http 元素上打上自定义的"data-*"属性,例如:
<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-*属性是最直接的方法。
attribute
和property
之间感到有些困惑,不妨看看这个链接:https://github.com/elm/html/blob/master/properties-vs-attributes.md - lenards