日期:2014-05-16  浏览次数:20423 次

问个简单js操作iframe的问题
HTML code

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>  
<script type="text/javascript">
    var a = document.getElementById('2');
    alert(a);
</script>
</head>

<body>
<iframe src="text2.aspx" id="2"></iframe>
    
</body>
</html>


问题很简单为什么var a是为空的,取不到iframe的值吗??html页面中不是很明显有个iframe吗??

如果我把
 var a = document.getElementById('2');
  alert(a);
放到window.onload里面去执行的话就好使。。。。这是什么原理,求大神帮忙解释下。。谢谢

------解决方案--------------------
把JS 放在下面,JS执行的时候,DOM没有加载完成~
------解决方案--------------------
执行的时间问题
JScript code
<script type="text/javascript">
    var a = document.getElementById('2');
    alert(a);
</script>

------解决方案--------------------
探讨
把JS 放在下面,JS执行的时候,DOM没有加载完成~

------解决方案--------------------
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
<script type="text/javascript">
window.onload=function(){
var a = document.getElementById('2');
alert(a.src);}
</script>
</head>

<body>
<iframe src="http://www.7di.net" id="2"></iframe>

</body>
</html>


<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
</head>

<body>
<iframe src="http://www.7di.net" id="2"></iframe>

<script type="text/javascript">
var a = document.getElementById('2');
alert(a.src);
</script>
</body>
</html>