今天在做网页时,用到了iframe,竟碰到了很怪的问题。
若代码为document..all.IFrame1..document.getElementsByTagName("DIV"),返回的是包含 iframe本身页面里所有的div元素,若代码为document.frames("IFrame1").document.getElementsByTagName("DIV"),返回的是iframe所包含的页面中的所有div元素,按照通常的思维,觉得这两者没有什么不同,不思不得其解。然后再看html开发手册时,发现如下解释:
1、通过 iframe 对象所在页面的对象模型,你可以访问 iframe 对象的属性,但不能访问其内容。例如,访问 iframe 对象的 border 样式的语法应为:
sBorderValue = document.all.oFrame.style.border;
注意
iframe 的属性必须使用前缀
document.all 访问,例如
document.all.iframeId.marginWidth。
可以看出写法1与写法2,可以访问到的东西是不一致的,所以通常的思考方式,也许会骗了
2、下面的例子返回了对 IFRAME 包含的文档的 all 集合的引用。
var collAll = document.frames("IFrame1").document.all
我们。其实,这可能只是我才会犯的错,但是确实很郁闷,所以将它写下来,也许,以后在看
到后,也别有一番感触吧。