来自HTMLElement的scalatags TypedTag

时间:2016-09-25 11:35:14

标签: scala scala.js scalatags

是否可以在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。它有意义吗?

1 个答案:

答案 0 :(得分:2)

可悲的是,不 - 如果你认真考虑,那实际上没有任何意义,至少不是这样。问题是,TypedTag不是HTML元素,它是构建 HTML元素的东西。相比之下,HTMLElement是一个实际的元素。所以基本上,你正试图从已经混合的杯子里拿出一袋可可粉。

我怀疑有可能构建你所要求的东西,但它会涉及一些 - 你必须构建一个需要HTMLElement并映射回来的东西为该元素类型参数化TypedTag,然后使用TypedTag,渲染它并替换现有的HTMLElement页内广告素材。它可以做到,但我怀疑它的工作量超过它的价值...