2012-07-30 121 views
14

我有一个页面,其中包含一个iframe到另一个页面,我正在寻找的是点击iframe内的东西,然后可以访问或更具体地隐藏父母的div。我知道有一些JQuery的,但由于某种原因,只是坐在那里呆呆的代码编辑器,当我试图把它写在我自己的访问div在iframe父

+1

页面和iframe是否托管在同一个子域? – rekire 2012-07-30 08:34:07

+0

是的,我可以访问这两个页面,如果代码需要去 – 2012-07-30 08:34:54

+0

@Andrew Morris代码访问不是问题 - 但浏览器不允许跨不同域的JavaScript操作。这些域必须完全匹配(即使协议必须相同 - 你无法通过http站点的JS处理https站点) – feeela 2012-07-30 08:43:57

回答

34

试试这个iframe中:

$('#DIVtobehidden', window.parent.document).hide(); 
+1

谢谢,这是我用过的,效果很好的 – 2012-07-30 08:50:35

+0

如果父母在不同的域上,这项工作是否会奏效? – Awalias 2014-04-24 17:32:23

2
$("#element-In-Iframe").on('click', function() { 
    $('#element-in-parent-window', window.parent.document).hide(); 
}); 

FIDDLE

+0

@CrystalMiller - 它曾经在三年前工作,请注意,它也与接受的答案完全一样。这些天,JSFiddle正在从一个shell子域运行它自己的iframe,所以同源策略会启用。 – adeneo 2015-07-08 01:34:50

0

如果两个页面都在同一个(子)域上,您应该能够访问父窗口:

window.parent.document.getElementById('divId') 

那么这是没有jQuery,但应该工作

+0

这是相反的方式! – adeneo 2012-07-30 08:40:03

+0

我的错我会解决这个问题。 – rekire 2012-07-30 08:45:15