问题
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
回答5:
For some reason
window.frames["framename"].document.getElementById ( "yourelementid" );
was not working for me.
This other method did:
document.getElementById('framename').contentWindow.document.getElementById('yourelementid');
来源:https://stackoverflow.com/questions/1807711/javascript-document-getelementbyid-in-other-frames