如何在iFrame中获取单击的元素和所述元素的src属性

时间:2011-08-24 14:11:39

标签: javascript jquery iframe fancybox

我有一个if fancybox plugin即时生成的iframe。我想在其中获取被点击的元素,并从该元素获取src属性,但每当我尝试时,我只是将“未定义”作为答案。

触发iframe创建的是:

<a id="contentImageAJAX" class="iframe" href="/tools/images?keyword=cat" style="display:none;">g</a>

 $('#contentImage').focus(function(){
        var $contentImage = $('#contentImage');
        $('a#contentImageAJAX').click().fancybox({
            'width' :  1280,
            'height': 600,
            'centerOnScroll': true,
            'hideOnContentClick' : true,
            'onCleanup': function(){tryMe($contentImage);}
        });

我发现创建的iframe是#fancybox-frame所以我试过了:

$('#fancybox-frame').load(function(){
    $('#fancybox-frame').contents().find('body').html('Hey, i`ve changed content of <body>! Yay!!!');
});

但它没有用,“tryMe”就是这个功能:

function tryMe($cImg){
        console.log($('#fancybox-frame').contents().find('clickable').attr('src'));
    }

我一直在尝试几次这样的迭代,不知道我错过了什么?

1 个答案:

答案 0 :(得分:0)

tryMe方法中的选择器错误find('clickable')。我想你正在寻找find('.clickable')

试试这个

$('a#contentImageAJAX').click().fancybox({
            'width' :  1280,
            'height': 600,
            'centerOnScroll': true,
            'hideOnContentClick' : true,
            'onCleanup': function(){parent.tryMe($contentImage);},
            'onComplete': function(){
               $('#fancybox-frame').contents().find('linkSelector').click(function(){
                   //Do you stuff here.
               });
            } 
 });