获取子元素的src属性(子元素为<a>) in an iFrame and return it to the parent using javascript</a>

时间:2011-08-25 12:56:14

标签: javascript dom iframe

因为它是一个动态生成的iframe,它只包含一个图片列表,我想获取所点击项目的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 :(得分:0)

你使用jQuery的方式是可以的,我有一个工作方式相同的Web应用程序。 jQuery在父窗口中加载,并使用您使用的相同方法在iframe中触发事件。

可能您使用了错误的ID或类作为选择器。

此外,在尝试附加任何事件侦听器之前,请确保您正在等待加载iframe的内容。

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

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

});