其他框架中的javascript document.getElementById

其他框架中的javascript document.getElementById,javascript,dom,html-frames,Javascript,Dom,Html Frames,我有两个帧,希望从一个帧访问另一个帧中的元素: 第1帧: <div id='someId'>...</div> 这在Firefox中不起作用,所以我想确定,我可以通过ID访问另一个框架中的元素吗?您可以使用 window.frames["framename"] 然后您可以使用 window.frames["framename"].document.getElementById ( "yourelementid" ); 问题可能是您所处的当前帧。如果window.fr

我有两个帧,希望从一个帧访问另一个帧中的元素:

第1帧:

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

这在Firefox中不起作用,所以我想确定,我可以通过ID访问另一个框架中的元素吗?

您可以使用

window.frames["framename"]
然后您可以使用

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);

或者,如果你想试试运气,你可以只使用一个数字参数

window.frames[0]。文档由于某种原因

window.frames["framename"].document.getElementById ( "yourelementid" );
他不为我工作

另一种方法是:

   document.getElementById('framename').contentWindow.document.getElementById('yourelementid');
document.getElementById('frameId').contentDocument.getElementById('frameChild');

因此,无论驻留在哪个框架中,浏览器都无法找到第一个具有所需ID的可用元素。@as:
getElementByid
仅限于查找它作为方法的
文档
对象。请记住,框架实际上是一个单独的
窗口
对象,对
窗口
->
文档
层次结构的检查应该清楚为什么一个
文档
上的方法不能在另一个
窗口
中检查
文档
。它不是在chrome中运行,
窗口框架['framename'].document
里面什么都没有。我的意思是
windows.franes['framename'].ducumnet.getElementById(…)…
results
Uncaught TypeError:无法调用未定义的方法“getElementByName”
错误。这对我不起作用,@Brian Duncan do!
   document.getElementById('framename').contentWindow.document.getElementById('yourelementid');