繁体   English   中英

<a>在iFrame中</a>获取子元素(到的子元素<a>)</a>的src属性, <a>然后使用javascript将其返回给父</a>元素

[英]Getting the src attribute of a child element (child to <a>) in an iFrame and return it to the parent using javascript

由于它是从php动态生成的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>

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

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

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

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

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

});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM