使用getElementById的IE iframe问题

时间:2011-09-06 20:49:27

标签: internet-explorer iframe getelementbyid

我有一个iframe,其中包含一个带有div的页面,我用它来加载一些图形。遗憾的是IE不会找到功能document.getElementById的div,但是firefox会没有问题。有什么提示吗?感谢

<iframe id="ganttFrame" src="data.html">

data.html:

<div class="gantt" id="GanttChartDIV"></div>
<script>    
  var g = new JSGantt.GanttChart('g',document.getElementById('GanttChartDIV'), 'day');
</script>

1 个答案:

答案 0 :(得分:2)

我认为你需要获得这样的元素,因为它实际上是一个单独窗口的一部分。

document.getElementById('ganttFrame').document.getElementById('GanttChartDIV')
//                       ^^^get the iframe's document... the the ^^^^

或者您可以使用(如果您的iframe的name属性设置为ganttFrame):

window.frames['ganttFrame'].document.getElementById('GanttChartDIV')

理论上,每个iframe 可以包含完全重复的ID,因为它是一个单独的文档,因此要正确导航到它,你需要获取iframe,然后在那个“窗口”中获取孩子div。