2010-05-19 50 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

相關問題