web-dev-qa-db-ja.com

ElmでHTMLデータ属性を作成する方法は?

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"を呼び出したいと思います。

Elmイベントライブラリには、条件付きpreventDefaultやフォームのシリアル化など、必要な機能が不足しているため、イベントハンドラーのデータをjQueryに公開する必要があります。 DOMを介してデータを提供する方法は他にもありますが、data- *属性ははるかに簡単です。

40
wmakley

代わりに attribute 関数を使用できます。

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