2010-05-19 86 views
2

我有这个iframe,因为你可以看到它使用onload触发器调用js函数。Javascript - 如何更改页面内的元素内容时使用iframe,使用dom,而不是jquery

<iframe name="top" id="top" width="99%" height="20%" src="top.htm" frameborder="0" scrolling="no" onload="log_in()"></iframe> 

什么,我需要做的是从功能的影响“为Top.htm”(innerHTML的变化之类的东西)内的元素。

但问题是,funnction不能识别“top.htm”页面的元素,只有index.htm(带有iframe的页面)中的元素。

p.s.我必须使用DOM,我必须使用iframe。

任何人都知道如何做到这一点?

10X :-)

回答

2

例如访问所有的DOM元素:

document.getElementById("top").contentWindow.document.getElementsByTagName("*") 

是你的问题?

+0

完美,10倍,只需要getElementsByTagName getElementById,它的工作很好... 10x :-) – Erez 2010-05-19 18:16:21

1

的IFRAME窗口及其文献

引用由iframe和加载到的IFRAME文档生成的窗口可以通过使用名称属性的帧阵列来获得。

window.frames[iframeName] 
window.frames[iframeName].document 

参考的帧阵列方法具有广泛的支持,即使是很老的浏览器,只要将姓名属性的iframe。为获得最佳效果,请同时使用名称和ID。

更多向上最新版本浏览器,iframe内的文件也可以通过contentWindow(IE赢)和contentDocument(DOM)IFRAME元素的属性引用:

// IE5.5+ windows 
document.getElementById(iframeId).contentWindow 
document.getElementById(iframeId).contentWindow.document 

,或者

// DOM 
document.getElementById(iframeId).contentDocument 

http://www.dyn-web.com/tutorials/iframes/

样品这里:http://www.dyn-web.com/tutorials/iframes/refs.php

相关问题