<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1">
    <div style="width:100%;height:100%;">
        <script type="text/javascript">
            str = "<iframe id='tt' name='tt' width='200px' height='200px' frameBorder=0 scrolling=\"no\" src=\"\" style=\"width:200px;height:200px;position:relative;scrolling:no;z-index:2;\"></iframe>";
            document.write(str);
            var test = eval("tt"); //这里是什么意思?
            alert(test); //这里的对象是什么??
        </script>
    </div>
    </form>
</body>
</html>

解决方案 »

  1.   

    var test = eval("tt");  //获得id=tt的iframe对象
    alert(test); //test就是iframe
    和var test=tt;是一样的。
    eval就是把传入的文本作为当前页面的脚本执行,并返回。所以eval("tt")就与脚本中直接写tt结果是一样的。
      

  2.   

    可是如果那个test是iframe的对象的话,那么为什么我用alert(test.id)  得不到 "tt"呢
      

  3.   

    这种直接 id 应用的方法仅 ie 支持。
    其他浏览器应该是 undefined 吧。
      

  4.   

    我就是在ie7测试的啊??也是undefined
      

  5.   

    iframe对象默认操作的是其内部窗口对象。
    test.framElement.id看看。
      

  6.   

    var test = eval("tt"); 
    此处相当于
    var test = document.getElementById("tt");
      

  7.   

    IE下面可以直接用id或者name做变量名...
    那个eval基本上是多余的...
      

  8.   

    var test = eval("tt"); 
    此处相当于
    var test = document.getElementById("tt");???
    根本不等,若用var test = document.getElementById("tt");执行alert9tt.tagName);能获得<IFRAME>但是用var test=eval('tt');什么也得不到,请楼上的几位先以后实验一下再说话