Получение атрибута src дочернего элемента (child to <a>) в iFrame и возврат его родителю с использованием javascript - PullRequest
0 голосов
/ 25 августа 2011

Поскольку это iframe, сгенерированный динамически из php, и он просто содержит список изображений, я хочу получить атрибут src выбранного элемента (изображение, обернутое в тег привязки) и вернуть его родителю или сохранить его впеременная, к которой позже может обратиться родитель.

Дело в том, что jQuery находится в родительском окне, а не в самом iframe, поэтому я должен использовать чистый javascript и найти способ отправить переменную обратно в родительский.Я пробовал:

function(){
                $('#fancybox-frame').contents().find('.clickable').click(function(){
                    alert('hey');
                });

из родительского окна, но оно просто не работает, поэтому у меня теперь есть встроенное onclick событие в привязке изображения:

onClick=\"alert('this does work')\"

как мне получить атрибут src ребенка и отправить его обратно родителю?

РЕДАКТИРОВАТЬ

Я также пробовал несколько вариантов этого:

onclick=\"this.className += 'pickedOne';\"

но мне не удалось заставить его правильно установить.

Все элементы внутри iframe имеют следующую структуру:

<div style=\"width: 300px; height:300px; float: left; margin-right:10px; \"><a onclick=\"this.className += 'pickedOne';\" title='".$value."' href='#'><img class='clickable' src=\"" . $value . "\" border=\"0\"/></a></div>

1 Ответ

0 голосов
/ 25 августа 2011

То, как вы это сделали с jQuery, в порядке, у меня есть веб-приложение, которое работает так же.jQuery загружается в родительское окно, и события запускаются внутри iframe, используя тот же метод, который вы использовали.

Возможно, вы использовали неверный идентификатор или класс в качестве селектора.

Также, сделайтеубедитесь, что вы ожидаете загрузки содержимого iframe, прежде чем пытаться подключить прослушиватель событий.

$('#fancybox-frame').load(function() {

    $('#fancybox-frame').contents().find('.clickable').click(function(){
        alert('hey');
    });

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...