ссылка на div из iFrame - PullRequest
       3

ссылка на div из iFrame

1 голос
/ 02 февраля 2012

Я разрабатываю приложение, в котором мне нужно написать HTML / JS в iframe. Я выбрал iframe, потому что думал, что у него будет собственное пространство имен и т. Д., Поэтому я не буду конфликтовать с именами переменных JS и т. Д.

Но сейчас я пытаюсь ссылаться на div по его идентификатору изнутри JS в iframe. В кадре у меня есть кнопка, которая вызывает функцию:

function colorDiv(){
  $("#test").css("background-color","red");
};

У родителя это работает - без проблем. (Конечно, это базовый сценарий тестирования. Я хочу написать график в этом div с высокими диаграммами. Это не работает, и я пытаюсь выяснить, почему нет.)

Но в iframe это делает zip. Див не окрашивается. Функция вызывается, ошибки нет - но цвета тоже нет ...

(Может быть полезно сказать, что в родительском элементе также есть div с именем 'test'. Но это не цвет, и если я посчитаю число 'div # test' в функции colorDiv, он возвращает 1 ... Я также проверил, был ли загружен jquery, и он имеет ...)

Что касается первых двух ответов, я не был достаточно ясен, может быть: я пытаюсь изменить div в iFrame. Не в родительском окне, а из сценария в iframe в div внутри того же iframe. Вот почему я нахожу это настолько удивительным, что это не работает ....

Кто-нибудь может пролить свет на это? :)

С уважением,

Пол

Ответы [ 4 ]

1 голос
/ 02 февраля 2012

Если я правильно понял themestarter - вам следует снова включить библиотеку jQuery внутри html-страницы, которая используется внутри iframe, чтобы вы могли использовать ее для манипуляций внутри дочернего документа

0 голосов
/ 02 февраля 2012

Попробуйте:

$('#test', top.document).css("background-color","red");

Или я не понимаю вашего вопроса?

0 голосов
/ 02 февраля 2012
function colorDiv(){
  window.opener.$("#test").css("background-color","red");
};
0 голосов
/ 02 февраля 2012

Вы пытаетесь вызвать DIV у родителя изнутри iframe?Вам нужно позвонить родителю. $ Вместо:

parent.$("#test").css("background-color","red");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...