1

次のような呼び出しで td 要素を作成しました。

  let td = Dom_html.createTd doc in

このオブジェクトに属性を設定したいと思います。私はこれを試しました:

  td#setAttribute (Js.string "colspan") (Js.string "4")

しかし、私はエラーが発生します:

エラー: この式には型 Dom_html.tableCellElement Js.t
があります。メソッド setAttribute がありません

4

1 に答える 1

2

#OCaml オブジェクトのメソッドにアクセスするには、単純なダッシュを使用します。

Js_of_ocaml には、##Javascript オブジェクトを処理するための特別な構文 ( ) があります。http://ocsigen.org/js_of_ocaml/2.4/manual/libraryを参照

dom 要素の属性を設定するには:

td##setAttribute(Js.string "key", Js.string "val")

あなたの場合、むしろ使用する必要があります:

td##colSpan <- 4

二重ダッシュ##は、JavaScript フィールド アクセスを変換します。前のステートメントは に変換されtd.colSpan = 4ます。

の型パラメーター'a'a Js.t、型チェッカーが JavaScript フィールド アクセスをチェックするために使用するファントム型です。あなたの場合はhttp://ocsigen.org/js_of_ocaml/2.4/api/Dom_html.tableCellElement-cを参照してください。

于 2014-09-11T07:18:32.160 に答える