取父窗口的元素方法:$(selector, window.parent.document);
那么你取父窗口的父窗口的元素就可以用:$(selector, window.parent.parent.document);
類似的,取其它窗口的方法大同小異
1 $(selector, window.top.document); 2 $(selector, window.opener.document); 3 $(selector, window.top.frames[0].document);
詳解:(以上方法較好用)
一、獲取iframe里的內容
在開始之前,首先我們來看看如何獲取iframe里的內容,獲取iframe中內容主要的兩個API就是contentWindow,和contentDocument iframe.contentWindow, 獲取iframe的window對象 iframe.contentDocument, 獲取iframe的document對象 這兩個API只是DOM節點提供的方式(即getELement系列對象)
1 var iframe = document.getElementById("iframe1"); 2 var iwindow = iframe.contentWindow; 3 var idoc = iwindow.document; 4 console.log("window",iwindow);//獲取iframe的window對象 5 console.log("document",idoc); //獲取iframe的document 6 console.log("html",idoc.documentElement);//獲取iframe的html 7 console.log("head",idoc.head); //獲取head 8 console.log("body",idoc.body); //獲取body
實際情況如:

另外更簡單的方式是,結合Name屬性,通過window提供的frames獲取.
1 <iframe src ="/index.html" id="ifr1" name="ifr1" scrolling="yes"> 2 <p>Your browser does not support iframes.</p> 3 </iframe> 4 <script type="text/javascript"> 5 console.log(window.frames['ifr1'].window); 6 console.dir(document.getElementById("ifr1").contentWindow); 7 </script>
其實window.frames[‘ifr1']返回的就是window對象,即
1 window.frames['ifr1']===window
這里就看你想用哪一種方式獲取window對象,兩者都行,不過本人更傾向於第二種使用frames[xxx].因為,字母少啊喂~ 然后,你就可以操控iframe里面的DOM內容。
二、在iframe中獲取父級內容
同理,在同域下,父頁面可以獲取子iframe的內容,那么子iframe同樣也能操作父頁面內容。在iframe中,可以通過在window上掛載的幾個API進行獲取.
window.parent獲取上一級的window對象,如果還是iframe則是該iframe的window對象window.top獲取最頂級容器的window對象,即,就是你打開頁面的文檔window.self返回自身window的引用。可以理解window===window.self(腦殘)
如圖:

