3

我有一个父窗口和两个 iframe。我正在尝试从另一个 iframe 访问一个 iframe 的元素。使用代码:

function startplay(){
   var txt="";
   txt+= "some text";
   var tag = window.frames("plays").getElementById("myvideo");
   tag.innerHTML=txt;
}

上面的代码位于一个由锚标记激活的 iframe 脚本中。但调用脚本时没有任何反应。myvideo 标签内容不会改变。这是从另一个 iframe 访问一个 iframe 元素的正确方法吗?我应该使用 parent.document.getElementById("plays").getElementById("myvideo"); 得到一个参考。我的视频。

代码位于 iframe(playright) 中,myvideo 标签位于 iframe(plays) 中。

4

2 回答 2

3

如果您在其中一个 iframe 中,则需要使用“父级”转到其父级,并从那里引用 iframe 对象。

所以这应该工作:

parent.nameofotheriframe.getElementById("myvideo"); 

(通过使用 getElementById 您引用的是 <IFRAME> 标记,而不是 iframe 对象)。

于 2012-08-14T15:19:02.510 回答
3

我遇到了同样的问题并像这样解决了它:

我的主页代码:

<div id="left">
    <iframe id="leftframe" name="leftframe" src="iframe-left.html"></iframe>
</div>
<div id="right">
    <iframe id="rightframe" name="rightframe" src="iframe-right.html"></iframe>
</div>

左框架:

<div id="DivInLeftFrame">aaa</div>

右框架:

<input type="button" value="clickme" onclick="changeLeftFrame();">

功能是:

changeLeftFrame(){
     parent.leftframe.document.getElementById('DivInLeftFrame').innerHTML = 'bbb';
}

添加“文档”以工作。

于 2013-10-04T17:57:24.127 回答