获取iFrame中子元素(child to<;a>;)的src属性,并使用javascript将其返回给父元素
因为它是一个由php动态生成的iframe,并且它只包含一个图片列表,所以我想获取单击项的src属性(一个包装在锚定标记中的图像),并将其返回给父级,或者将其保存到一个稍后可由父级访问的变量中 问题是jQuery在父窗口中,而不是iframe本身,所以我必须使用纯javascript并找到一种方法将变量发送回父窗口。我试过:获取iFrame中子元素(child to<;a>;)的src属性,并使用javascript将其返回给父元素,javascript,dom,iframe,Javascript,Dom,Iframe,因为它是一个由php动态生成的iframe,并且它只包含一个图片列表,所以我想获取单击项的src属性(一个包装在锚定标记中的图像),并将其返回给父级,或者将其保存到一个稍后可由父级访问的变量中 问题是jQuery在父窗口中,而不是iframe本身,所以我必须使用纯javascript并找到一种方法将变量发送回父窗口。我试过: function(){ $('#fancybox-frame').contents().find('.clickable').click(f
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');
});
});
我也有这个函数,它不会触发任何东西,我猜这与正在使用的fancybox插件有关,但我真的找不到一个有效的解决方法…
$('fancybox frame').load(function(){alert('hello');})代码>至少在它首先触发iframe的加载事件时重试。未发生任何事件:(这是iframe的id,尽管它包含在#fancybox内容中,这有什么关系吗?fancybox是否也使用iframe来显示内容?我知道很多插件实际上使用iframe来显示内容……如果是这样的话,你必须首先探索iframe的内容……恶心:)iframe是由fancybox插件本身创建的。我可能不得不这么做,但我真的不知道它是否是iframe中的iframe