我创建了一个带有调用的 td 元素,例如:
let td = Dom_html.createTd doc in
我现在想在这个对象上设置一个属性。我试过这个:
td#setAttribute (Js.string "colspan") (Js.string "4")
但我得到了错误:
错误:此表达式的类型为 Dom_html.tableCellElement Js.t
它没有方法 setAttribute
我创建了一个带有调用的 td 元素,例如:
let td = Dom_html.createTd doc in
我现在想在这个对象上设置一个属性。我试过这个:
td#setAttribute (Js.string "colspan") (Js.string "4")
但我得到了错误:
错误:此表达式的类型为 Dom_html.tableCellElement Js.t
它没有方法 setAttribute
简单破折号#
用于访问 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
in'a Js.t
是类型检查器用来检查 JavaScript 字段访问的幻像类型。在您的情况下,请参阅http://ocsigen.org/js_of_ocaml/2.4/api/Dom_html.tableCellElement-c。