本帖最后由 atomicsun 于 2009-09-02 18:26:46 编辑

解决方案 »

  1.   

    document.getElementById("main").innerHTML+=str;//赋值,相当于重新定义了d1对象
      

  2.   

    加载问题,生成好了再加载方法,如下<!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 id="Head1" runat="server">
            <title>无标题页 </title>
            <style type="text/css">
                .s
                {
                    width: 300px;
                    height: 30px;
                    background-color: Green;
                    margin: 12px;
                }
            </style>
        </head>
        <body>
            <form id="form1" runat="server">
                <div id="main">
                </div>            <script type="text/javascript">                for(var i=1;i <3;i++)
                    {
                        var str=" <div id='d"+i+"'  class='s'> </div>"
                        document.getElementById("main").innerHTML+=str;
        
                    }
                    for(var i=1;i <3;i++)
                    {
                        var id="d"+i;
                        document.getElementById(id).onmouseover=getf(i);                }                function getf(i)
                    {
                        return function(){ alert(i);}
                    }            </script>        </form>
        </body>
    </html> 
      

  3.   


    <!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 id="Head1" runat="server"> 
        <title>无标题页 </title> 
        <style type="text/css"> 
            .s 
            { 
                width: 300px; 
                height: 30px; 
                background-color: Green; 
                margin: 12px; 
            } 
        </style> 
    </head> 
    <body> 
        <form id="form1" runat="server"> 
        <div id="main"> 
        </div>     <script type="text/javascript"> for(var i=1;i<3;i++) 

        var str=" <div id='d"+i+"'  class='s'> </div>" 
        document.getElementById("main").innerHTML+=str; 

    for(var i=1;i<3;i++) 

        var id="d"+i;
        document.getElementById(id).onmouseover= getf(i);

    function getf(i) 
        { 
            return function(){ alert(i);} 
        }     </script>     </form> 
    </body> 
    </html>