javascript document.getElementById in other frames

北城以北 提交于 2019-11-29 16:50:47

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!