Я работаю над веб-приложением и использую Палитру цветов плагина jQuery для появления окна, которое представляет форму для редактирования элементов родительского окна. Я использую Firebug для отладки моего JavaScript и jQuery, и я заметил, что не могу выбрать элемент в своей HTML-форме Палитры цветов с помощью консольной командной строки jQuery. Например:
$date = $ (" #date");
возвраты ничто, когда выполнено из консольной командной строки jQuery, даже при том, что у меня есть входной элемент с идентификатором = "дата" и Firebug "элемент, не осматривает" указатель, могут найти элемент в iFrame. Существует ли способ заставить консоль Firebug получать доступ к элементам в iFrame?
Спасибо за помощь! Doug
Вам нужно передать документ iframe в качестве контекста для вашего селектора, потому что iframe имеет собственное отдельное дерево DOM:
$('#date', $('iframe').get(0).contentDocument);
Чтобы получить доступ к содержимому iframe, оно должно быть загружено из того же домена, что и родительский документ.
Чтобы уточнить, свойство .contentDocument
работает в Chrome (и FF), но не в IE <8. Вы должны использовать .document
.
Вы ищете метод cd
, описанный здесь: http://getfirebug.com/wiki/index.php/Command_Line_API
Вот букмарклет, который я использую для автоматизации прыжков в iframe любого приложения Facebook с iframe. Он должен предоставить достаточно примеров для модификации для вашего использования.
javascript:with(_FirebugCommandLine){cd($$(".canvas_iframe_util")[0].contentWindow)}
Обратите внимание, что с
, как правило, плохая практика, но Firebug буквально так выполняет то, что вы вводите в консоль, поэтому я скопировал это.
После запуска все, что вы вводите в командной строке, выполняется в контексте iframe.