8

I have a web-page with a jQuery DOMWindow that loads its content from an iFrame. I need to access elements of the parent window from the iFrame. Is this possible?

This is the configuration for the DOMWindow that is opened from my main page:

        <script type="text/javascript">
            $('.AjaxDOMWindow').openDOMWindow({
                anchoredClassName:'DOMWindow',
                draggable: 1,
                eventType:'click',
                height:500,
                loader:1,
                loaderHeight:16,
                loaderImagePath:'/js/jquery/DOMWindow/animationProcessing.gif',
                loaderWidth:17,
                positionLeft:0,
                positionTop:0,
                positionType:'centered',
                width:700,
                windowSource:'iframe'
            });

I'm attempting to access the parent window's elements from the DOM box with:

parent.document.getElementById('foo').innerHTML = '';

But this doesn't appear to work. Thanks!

Casey Flynn
  • 13,654
  • 23
  • 103
  • 194
  • Possible duplicate of http://stackoverflow.com/questions/726816/how-to-write-this-in-jquery-window-parent-document-getelementbyidparentprice – Lance Jan 31 '11 at 19:31
  • Not sure if this is a duplicate. Thank you for the suggestion. The above question doesn't refer to an iframe loaded inside of a DOMWindow - which is my scenario. – Casey Flynn Jan 31 '11 at 19:33

3 Answers3

8

Change

parent.document.getElementById('foo').innerHTML = '';

to

window.parent.document.getElementById('foo').innerHTML = '';
Lance
  • 1,889
  • 14
  • 12
5

I see you have as tag so you can do this as below.

$( "#foo", window.opener.document)

OR

window.opener.document.$("#foo")
Chris Peters
  • 17,918
  • 6
  • 49
  • 65
Dipesh Parmar
  • 27,090
  • 8
  • 61
  • 90
0

This could also work :

$(window.parent.document).find("#foo")
jramby
  • 426
  • 5
  • 14