How to create HTML data attributes in Elm?
I need to tag my Elm.Http elements with custom "data-*" attributes, for example:
<tr data-row="1">...</tr>
I have tried the following:
import Html exposing (..)
import Html.Attributes exposing (..)
import Json.Encode as JsEncode
view ... =
tr [ property "data-row" (JsEncode.string (toString 1)) ]
But this does nothing. Anyone know a way?
I think the problem is that Elm is actually setting JavaScript DOM attributes, so I really want to call element.dataset.row = "1" somehow.
The background is I need to expose some data to jQuery for my event handlers, because the Elm event library is missing a bunch of features I need, such as conditional preventDefault and form serialization. There are other ways to supply data via the DOM, but data-* attributes are by far the most straightforward.
You can use the attribute function instead.
view ... =
tr [ attribute "data-row" "1" ]