javascript document.getElementById in other frames

2019-02-08 10:41发布

问题:

so, I have 2 frames and want to access to element from one frame into another :

frame 1:

<div id='someId'>...</div>

frame 2:

var div=document.getElementById('someId');

div.innerHTML='something'; 

this is somehow not functioning in Firefox so I want to be sure, can I access to element in another frame by its ID ?

回答1:

You can refer the other frame by using

window.frames["framename"]

and then you can refer the element in the DOM by using

window.frames["framename"].document.getElementById ( "yourelementid" );


回答2:

The issue may be the current frame you are in. If window.frames['framename'] does not work, try parent.frames['framename'] to access the top level frames.

if(parent.frames && parent.frames['framename']) {
   var elem = parent.frames['framename'].document.getElementById(...); 
   // etc
}


回答3:

I was having problem with the JS version but was able to use these examples for a working jQuery version:

var obj = $('#yourelementid', parent.frames["framename"].document);


回答4:

Or, if you feel like trying your luck, you can just use a numeric parameter.

window.frames[0].document