我有两个框架,想从另一个框架访问一个框架中的元素:
第一帧:
<div id='someId'>...</div>
第 2 帧:
var div=document.getElementById('someId');
div.innerHTML='something';
这在 Firefox 中不起作用,所以我想确定一下,我可以通过 ID 访问另一个框架中的元素吗?
我有两个框架,想从另一个框架访问一个框架中的元素:
第一帧:
<div id='someId'>...</div>
第 2 帧:
var div=document.getElementById('someId');
div.innerHTML='something';
这在 Firefox 中不起作用,所以我想确定一下,我可以通过 ID 访问另一个框架中的元素吗?
您可以使用参考另一个框架
window.frames["framename"]
然后你可以通过使用来引用 DOM 中的元素
window.frames["framename"].document.getElementById ( "yourelementid" );
问题可能是您所在的当前框架。如果window.frames['framename']
不起作用,请尝试parent.frames['framename']
访问顶级框架。
if(parent.frames && parent.frames['framename']) {
var elem = parent.frames['framename'].document.getElementById(...);
// etc
}
我在使用 JS 版本时遇到问题,但能够将这些示例用于工作 jQuery 版本:
var obj = $('#yourelementid', parent.frames["framename"].document);
document.getElementById('frameId').contentDocument.getElementById('frameChild');
或者,如果您想试试运气,您可以只使用数字参数。
window.frames[0].document
由于某些原因
window.frames["framename"].document.getElementById ( "yourelementid" );
不适合我。
这另一种方法做到了:
document.getElementById('framename').contentWindow.document.getElementById('yourelementid');