我有两个框架,希望从一个框架访问另一个框架中的元素:框架1:
<div id='someId'>...</div>
框架2:
var div=document.getElementById('someId'); div.innerHTML='something';
这在Firefox中不起作用,所以我想确认一下,我可以通过它的ID访问另一个框架中的元素吗?
up9lanfz1#
您可以使用引用另一个框架
window.frames["framename"]
然后您可以使用以下命令在DOM中引用该元素
window.frames["framename"].document.getElementById ( "yourelementid" );
aydmsdu92#
问题可能出在您所在的当前帧中。如果window.frames['framename']不起作用,请尝试parent.frames['framename']访问顶级帧。
window.frames['framename']
parent.frames['framename']
if(parent.frames && parent.frames['framename']) { var elem = parent.frames['framename'].document.getElementById(...); // etc }
ki0zmccv3#
我在使用JS版本时遇到了一些问题,但是我能够使用这些例子来创建一个工作的jQuery版本:
var obj = $('#yourelementid', parent.frames["framename"].document);
sg2wtvxw4#
document.getElementById('frameId').contentDocument.getElementById('frameChild');
wqsoz72f5#
或者,如果你想试试运气,你可以只使用一个数字参数。第一个月
iqjalb3h6#
因为某些原因
对我不起作用。另一种方法:
document.getElementById('framename').contentWindow.document.getElementById('yourelementid');
xkrw2x1b7#
只需使用frameId.MyElementId当然,在定义框架时,使用“name=...."是不够的,在框架标签中使用“id=...”更合适。例如:
<iframe id=MyFrame> .... <input id=MyElementId> ... <script> // do something with MyElementId MyFrame.MyElementId.value = "something";
至少,它在2022年(几乎是2023年)之前有效。[Note我甚至没有使用“name”......这在现在是完全没有必要的,除非你想使用单选按钮和多个引用同一个互斥元素的〈INPUT's]
7条答案
按热度按时间up9lanfz1#
您可以使用引用另一个框架
然后您可以使用以下命令在DOM中引用该元素
aydmsdu92#
问题可能出在您所在的当前帧中。如果
window.frames['framename']
不起作用,请尝试parent.frames['framename']
访问顶级帧。ki0zmccv3#
我在使用JS版本时遇到了一些问题,但是我能够使用这些例子来创建一个工作的jQuery版本:
sg2wtvxw4#
wqsoz72f5#
或者,如果你想试试运气,你可以只使用一个数字参数。
第一个月
iqjalb3h6#
因为某些原因
对我不起作用。
另一种方法:
xkrw2x1b7#
只需使用frameId.MyElementId
当然,在定义框架时,使用“name=...."是不够的,在框架标签中使用“id=...”更合适。例如:
至少,它在2022年(几乎是2023年)之前有效。
[Note我甚至没有使用“name”......这在现在是完全没有必要的,除非你想使用单选按钮和多个引用同一个互斥元素的〈INPUT's]