我做得页面用到了document.createElement("div");来创建按钮之类的    在火狐中运行正常,在ie6中找不到创建的这些对象??    该用什么方法得到它们????

解决方案 »

  1.   

    w3c规范 ie下不行,看看你的代码
      

  2.   

       我知道IE6有问题,但是有解决的方法没有啊??
      像下面这个例子,当我创建几个按钮之后,点击dis得到的长度居然撒零,莫名其妙。
    <html>
    <head>
    <title>test</title>
    <script language="javaScript">
    function test()
    {
    //document.getElementById("dis").disabled = true;
    var butt = parent.document.createElement("button");
    butt.value = "test";
    butt.name = "tt";
    document.body.appendChild(butt);
    }

    function getButtonName()
    {
    var ttt = document.getElementsByName("tt");
    alert("ttt = " + ttt.length);

    }
    </script>
    </head>
    <body>
    <input type="button" id="dis" value="dis" onclick="getButtonName();"/>
    <input type="button" value="test" onclick="test();"/> 
    </body>
    </html>
      

  3.   


     var butt = document.createElement('<input type="button" name="tt" value="test">'); // IE下name属性需要直接指定
      

  4.   

     var butt = document.createElement('<input type="button" name="tt" value="test">'); 
                        
                       
                        document.body.appendChild(butt);
    学习 了
      

  5.   

    ie下document.getElementsByName("tt");中的tt是元素的id,firefox下是元素的name
      

  6.   

    butt.value = "test";
    butt.name = "tt";
    这样写,在ie下被当作了自定义的属性,所以用document.getElementsByName获取不到。像下面这样可以:
    <html>
        <head>
            <title>test</title>
            <script language="javaScript">
                function test()
                {
                    //document.getElementById("dis").disabled = true;
                        var butt = parent.document.createElement("<input type='button' name='tt' value='test'/>");
                      //  butt.value = "test";
                      //  butt.name = "tt";
                        document.body.appendChild(butt);
                }
                
                function getButtonName()
                {
                    var ttt = document.getElementsByName("tt");
                    alert("ttt = " + ttt.length);
                    
                }
            </script>
        </head>
        <body>
            <input type="button" id="dis" value="dis" onclick="getButtonName();"/>
            <input type="button" value="test" onclick="test();"/> 
        </body>
    </html>
      

  7.   

    lz你在设置name的时候,被IE改成了 submitName。所以,你取不到。
    你可以用IE8 的开发工具看看
    修改方案按ls 的就可以了
    lz还可以看看这篇文章:http://www.w3help.org/zh-cn/causes/SD9006
      

  8.   

    在ie和firefox下均可用的方法方法:
    <html>
        <head>
            <title>test</title>
            <script language="javaScript">
                function test()
                {
                    //document.getElementById("dis").disabled = true;
                        var butt = document.createElement("<input>");
    butt.setAttribute("type","button");
                        butt.setAttribute("value","test");
                        butt.setAttribute("name","tt");
    butt.setAttribute("id","tt");
                        document.body.appendChild(butt);
                }
                
                function getButtonName()
                {
                    var ttt = document.getElementsByName("tt");
                    alert("ttt = " + ttt.length);
                    
                }
            </script>
        </head>
        <body>
            <input type="button" id="dis" value="dis" onclick="getButtonName();"/>
            <input type="button" value="test" onclick="test();"/> 
        </body>
    </html>
      

  9.   

     butt.setAttribute("name","tt");也不行,还是会被IE改成 submitName
      

  10.   

    加多了这句:butt.setAttribute("id","tt");
    在ie6,firefox3.6.8下均可
      

  11.   

    name被ie改了?
    只要id不被改,getElementsByName就可以取到。
    getElementsByName(sName)中的sName可为name 属性值或 id 属性,但name属性不能为自定义的,name属性必须是元素自身有的
      

  12.   

    还是不太明白最后怎么解决的这个submitName ,现在用 document.getElementsByName() 获取不到