2013-11-11 5 views
1

Используя Tumult Hype, я построил селектор диапазона даты, и я в настоящее время добавляю к нему функциональность ... однако Hype любит помещать HTML-фрагменты в iFrames.Изменить местозаполнитель ввода в iframe

У меня возникли проблемы с ориентацией на поле ввода, которое находится в iframe, поэтому я могу заполнить его текущим годом. Я также не могу предоставить идентификатор iframe ID внутри Hype.

Путь к входу, как это:

#startyear > div > #start-year-text > iframe > html > body > input#start-year-placeholder 

очевидно, с помощью JQuery, это не работает:

$("#start-year-placeholder").attr("placeholder","1973"); 

ни делает это:

$("#startyear > div > #start-year-text > iframe > html > body > input#start-year-placeholder").attr("placeholder","1973"); 

С приведенная ниже веб-страница, вы увидите первые селекторы диапазона дат. Я пытаюсь установить атрибут текста заполнителя первого года динамически. Сейчас он жестко запрограммирован.

Вы можете увидеть полный HTML здесь: http://aceroinc.ca/question/footer.html

ответ

2

вы можете предназначаться это следующим образом:

$('iframe').contents().find('input#start-year-placeholder')

Примечание: это работает на странице, но в общем, если вы собираетесь добавьте больше iframe, вам может потребоваться настроить селектор iframe. Кроме того, это работает только после того, как iframe является тем же доменом, что и родительская.

+0

Когда я пробовал это: '$ ('iframe'). Contents(). Find ('# start-year-placeholder') attr (" placeholder "," 1973 ");' Я получаю * Uncaught SyntaxError: Неожиданная ошибка идентификатора *. – Livi17

+0

вам не хватает точки непосредственно перед 'attr' –

+0

@ livi1717 должно быть' $ ('iframe'). Contents(). Find ('input # start-year-placeholder'). Attr ("placeholder", "1973 ");' –

Смежные вопросы