top.mainFrame.document.getElementById("testdiv")

解决方案 »

  1.   

    谢谢楼上,为了测试,我把上面代码改一下:<frameset rows="*" cols="200,*" framespacing="1" frameborder="yes" border="1"> 
         <frame src="left.htm" name="leftFrame" scrolling="auto" > 
         <frame src="main.htm" name="mainFrame"> 
    </frameset> main.htm里定义 
    <body>         <div id="testdiv" > aaaa</div> 
    </body> left.htm:
    alert(top.mainFrame.document.getElementById("testdiv").innerText);报错:缺少对象。
      

  2.   

    要等main加载完毕
    left.htm<script defer="true">
    window.onload=function(){
    alert(top.mainFrame.document.getElementById("testdiv").innerText); 
    }
    </script>
      

  3.   

    谢谢!果然是这样!
    还有几个问题:top是什么概念?
    对frame了解不深,查了些资料,还是不太明白。如果一个js文件在几个子frame里都要用,那么这个语句
    <script type="text/javascript" src="a.js"></script>到底加在哪个页面呢?
    同样,如果是一个PHP文件include一些文件,又该加到哪呢?
      

  4.   

    top指的是最顶层的窗口(包括frame)
    可以加在<frameset>那个页面,frame调用的时候 top.函数名()