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.

类型参数'ain'a Js.t是类型检查器用来检查 JavaScript 字段访问的幻像类型。在您的情况下,请参阅http://ocsigen.org/js_of_ocaml/2.4/api/Dom_html.tableCellElement-c

于 2014-09-11T07:18:32.160 回答