2012-07-30 60 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