document.all.elementId.value  vs   document.getElementByID().value

解决方案 »

  1.   

    意思一样.不同的是
    document.all, 某些浏览器不支持
    document.getElementByID  所有浏览器支持
      

  2.   

    以上两种方式都可以获得指定元素的value。但是,document.all可能会有兼容性问题。
    document.all 现在逐渐被所有浏览器都支持了,但是使用起来,有时候还是会有兼容性问题的,建议楼主使用document.getElementById() 获取元素。如果lz对兼容性感兴趣,可以去 跨浏览器开发 版看看。
      

  3.   


    <!--document.all IE支持,火狐或Chrome不支持~~~
    document.getElementById W3C支持的标准写法~~~
    -->
    <!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>
        <title>e3</title>
    </head>
    <body>
    <div id="head" style="display:none;">Head</div>
    <script type="text/javascript">
    if(document.all){
       document.write("document.all:"+document.all.head.innerHTML);
    }
    else{
       document.write("getbyID:"+document.getElementById("head").innerHTML);
    }
    </script>
    </body>
    </html>
      

  4.   

    document.all是IE 4.0及以上版本的专有属性,是一个表示当前文档的所有对象的娄组,不仅包括页面上可见的实体对象,还包括一些不可见的对象,比如html注释等等。在document.all数组里面,元素不分层次,是按照其在文档中出现的先后顺序,平行地罗列的。所以可以用数字索引来引用到任何一个元素。但比较常用的是用对象id来引用一个特定的对象,比如document.all["element"]这样。
    新的统一的标准用document.getElementById等系列方法来引用DOM对象,而且Netscape 6.0以后放弃了layers特征,虽然IE继续保留了document.all,但这最终没有成为DOM标准的一部分
      

  5.   


    document.all.elementId.value
    是先找到所有的元素集合,通过元素id找到指定元素得到value
    document.getElementByID().value
    后者是直接通过id在当前文档中查找,然后得到value。后者应该效率高些,省去了查找所有元素