2015-01-06 3 views
0

им создание и добавление IFrame как:добавить Div класс в приложенном плавающем фрейме с Javascript

$("#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 

После этого, что хорошо работает, я претендую, чтобы добавить класс, который будет установлен цвет заголовка по на плавающем фрейме , в зависимости от «статуса» элемента. Поэтому я вызываю следующую функцию:

setHeaderBgColor(getDivClassFromStatus(jsEvent.status)) 

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

Но это не работает. Кажется, я никогда не попадал в «# meeting-form-header» и не нашел способ сделать это.

Буду признателен за любую помощь. Заранее спасибо.

+0

На что все стрелки указывают, я продолжаю смотреть направо, но все, что я вижу, это моя полоса прокрутки? – adeneo

+0

Привет @adeneo, стрелки - это просто синтаксис coffeescript для функции. Просто прочитайте его как регулярную функцию .js() { – ntonnelier

+0

Я просто шутил! Является ли загрузка iFrame из того же домена, порта и т. Д., И вы дождались его загрузки, прежде чем пытаться получить доступ к элементам внутри. – adeneo

ответ

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)) 

Должен сделать трюк.

+0

хорошо подумал @ Mouser, но нет. Все еще не работает .. – ntonnelier

+0

Какая ошибка? – Mouser

+0

Нет ошибки в консоли, но это не определено: $ ("iframe"). Contents(). Find ("# assignments-form-header"). Attr ('class') – ntonnelier