2012-10-26 132 views
0

以下问题:Modify attribute of element,我想知道是否有一种干净的方法来删除Lift中的属性。现在我直接运行javascript命令:删除HTML元素的属性

Run("document.getElementById(\"elem_id\").removeAttribute(\"disabled\", 0);") 

有没有更好的方法来做到这一点?

例如,要编辑属性,可以使用下面的命令:

(JqId("elem_id")~> JqAttr("disabled", "disabled")).cmd 

回答

1

我没有看到一个建在JqJE选项的removeAttribute,但你应该能够推出自己的。如果定义是这样的:

case class RemoveAttr(key: String) extends JsExp with 
    JsMember with JQueryRight with JQueryLeft { 

    def toJsCmd = "removeAttr(" + key.encJs + ")" 
} 

,然后调用,如:

JqId("elem_id")~> RemoveAttr("disabled") 

我没有测试过,但我认为它应该做到你在找什么做的。您可以在这里找到JqJE的来源:https://github.com/lift/framework/blob/master/web/webkit/src/main/scala/net/liftweb/http/js/jquery/JqJsCmds.scala#L168