使用javascript在附加的iFrame中添加div类

时间:2015-01-06 20:28:58

标签: javascript jquery ruby-on-rails iframe coffeescript

我正在创建和添加iFrame,如下所示:

$("#iframe").append setIframe(gon.user_appointments_url + "/" + calEvent.id + "/edit", 630)

setIframe = (srcAttribute, height) ->
  ifrm = document.createElement("IFRAME")
  ifrm.setAttribute "src", srcAttribute
  ifrm.style.width = 100 + "%"
  ifrm.style.height = height + "px"
  return ifrm

在此之后,这很好用,我假装添加一个将在iFrame上设置标题颜色的类,具体取决于元素" status"。所以我调用以下函数:

setHeaderBgColor(getDivClassFromStatus(jsEvent.status))

setHeaderBgColor = (header_div_class) ->
  $("iframe").contents().find("#appointments-form-header").addClass header_div_class

但这不起作用。我似乎永远不会到达"#appointmentments-form-header"而且没有找到办法。

我很感激任何帮助。提前谢谢。

1 个答案:

答案 0 :(得分:0)

$("#iframe").append setIframe(gon.user_appointments_url + "/" + calEvent.id + "/edit", 630)

setIframe = (srcAttribute, height) ->
  ifrm = document.createElement("IFRAME")
  ifrm.setAttribute "src", srcAttribute
  ifrm.style.width = 100 + "%"
  ifrm.style.height = height + "px"
  ifrm.onload = setContent
  return ifrm

  setHeaderBgColor = (header_div_class) ->
    $("#iframe").contents().find("#appointments-form-header").addClass header_div_class

  setContent() -> 
    setHeaderBgColor(getDivClassFromStatus(jsEvent.status))

应该做的伎俩。