像下面一个页面
<html>
<head>
</head>
<body>
<iframe name="content1" src="test.html"></iframe>
</body>
</html>test.html
......
<body>
<div name="div1"></div>
</body>
</html>我使用content1.all.div1 为什么不能得到这个DIV对象呢?不是说ALL是返回容器里所有的对象吗?为什么这里不可以呢?all的使用是不是对TAG的类型有限制?我迷糊了!

解决方案 »

  1.   

    当然要兼容的话,还要改content1这个
      

  2.   

    window.frames["content1"].document.all['div1'];
      

  3.   

    content1.document.all是所有对象的数组 所以应该
    content1.document.all['div1']得到
    document.all的写法仅限于IE 扩展性不强
    建议用document.getElementsByName('div1')[0]得到
      

  4.   

    那么如果iframe页面是这样
    <body>
    <div id=div1>
      <table id=table1><button id=button1/></table>
    </div>
    </body>我下面两种写法为什么结果不同content1.div1.table1.all.button1 可以得到Button对象content1.div1.table1.button1  不可以得到Button对象为什么第一句里得到button1前要加all?
    而得到div1,table1前都不用加all?button 和iframe div table 类型有区别吗?我不清楚的是像obj.all.obj 这种用法的含义,我理解obj.all[index] \obj.all[id]这种用法。
      

  5.   

    你这些都只是在IE下才有的这问题
    FF根本就不可能
      

  6.   

    是啊,我的确是在ie下,请问在IE下我的问题的答案是什么呢?因为我对obj.all.obj这种用法感到很迷糊啊
      

  7.   

    我的window.frames["content1"].document.all.length是0。然后也得不到div1,为什么呢?
    ——————————————
    建议楼主用id。
    因为IE是不标准的DOM,所以name和id是混着的
      

  8.   

    content1.div1.table1.all.button1 可以得到Button对象 
    答:在IE中搜索不到name中含有button1,就会到id中找
    content1.div1.table1.button1  不可以得到Button对象 
    答:这个根本就不符合规则
      

  9.   

    [Quote=引用 11 楼 chinmo 的回复:]
    content1.div1.table1.all.button1 可以得到Button对象 
    答:在IE中搜索不到name中含有button1,就会到id中找 那么,为什么
    content1.all.div1 得不到div这个对象content1.div1.all.table1 得不到table这个对象而
    content1.div1.table1.all.button1 却可以得到button,这不是很奇怪吗
      

  10.   


    all是IE的,FF没有,也不是DOM标准。
    标准是用‘element’.getElementsByTagName('*');"button 和iframe div table 类型有区别吗?"
    用法没区别。前面用frames是因为frames是document的集合,是DOM提供的。同样的还有images,links,forms等。
    all返回的是一个集合,也就是数组,所以可以直接用下标引用。
    ‘content1.div1.table1.button1’这种我也感觉很混乱,document.body是可以的,但这种不可以。
      

  11.   

    其实我的本意就是问IE 对obj.all.obj这种语法的解释我早已明白这种语法是不符合W3C规范的,但是因为在IE中可以使用,所以我提出来。我看基础书籍有什么用呢?基础书籍都是讲最规范的东西,根本就不会提这个问题——我的意思不是基础不重要,而是IE独特的用法在基础教程上找不到。为什么我问这种用法,道理很简单
    content1.dvi1.table1.all.button1 比content1.document.all[div1].document.all[table1].document.all[button1]少打很多字符,必须承认IE承认这种语法有好处好吧,我想大家也快糊涂了,虽然最后没有得到一个满意的答案 ,毕竟我也明白了这不是一个规范的东西和规范的东西是怎样的,对不对?^-^