是否可以在scalatags中的TypedTag
创建HTMLElement
?
从HTMLElement
构建TypedTag
非常简单:
import scalatags.JsDom.all._
val typedTag: TypedTag[Div] = div("abc")
val d: Div = typedTag.render
//somwhere `type Div = raw.HTMLDivElement`
是否可以在对立方向创建转换?
给定Div
的实例,我希望TypedTag[Div]
使用scalatags好东西来操纵它,然后将其渲染回HTMLElement
。它有意义吗?
答案 0 :(得分:2)
可悲的是,不 - 如果你认真考虑,那实际上没有任何意义,至少不是这样。问题是,TypedTag
不是HTML元素,它是构建 HTML元素的东西。相比之下,HTMLElement
是一个实际的元素。所以基本上,你正试图从已经混合的杯子里拿出一袋可可粉。
我怀疑有可能构建你所要求的东西,但它会涉及一些 - 你必须构建一个需要HTMLElement
并映射回来的东西为该元素类型参数化TypedTag
,然后使用TypedTag
,渲染它并替换现有的HTMLElement
页内广告素材。它可以做到,但我怀疑它的工作量超过它的价值...